У меня есть функция, в которой я использую локальный массив. Я хотел бы вернуть указатель на это, но, конечно, никто не может сделать это, если не будет выделять память вручную. Поэтому я хотел бы знать, если распределение так:
for(i = 0; i < 26; i++)
{
llist[i] = malloc(sizeof(SomeStruct));
}
может быть позже освобожден следующим образом:
// (where ptr is a pointer to the first allocation in llist)
for(i = 0; i < 26, i++)
{
free(ptr);
ptr += sizeof(SomeStruct);
}
Edit:
Кажется, я не могу этого сделать. Есть ли способ, которым я мог бы освободить всю память, учитывая только указатель на первый элемент? Или я должен полностью придерживаться другого подхода?