Re: а кто C хорошо знает?
On 2012.10.08 at 12:41:05 +0400, Dmitry E. Oboukhov wrote:
> имеется некая структурка
>
> struct something {
> ...
>
> unsigned count;
> unsigned element[0];
> };
>
> то есть в поле count сказано сколько элементов будет после структурки.
> ну и обращение к ним идет так:
>
> for (i = 0; i < s->count; i++) {
> s->elements[i] = i;
> }
>
>
> теперь когда мы это хотим саллоцировать, то пишем такой аллокатор
>
> struct something * some_alloc(unsigned size) {
> return malloc(sizeof(struct something) + sizeof(unsigned) * size);
> }
>
>
> а вот если появилась необходимость саллоцировать такой объект
> статически, как быть?
Завести union. С первым вариантом struct something и вторым - массивом
требуемой длины. (учитывая sizeof(struct something).
Reply to: