J'ai une fonction dans laquelle j'utilise un tableau local. J'aimerais renvoyer un pointeur sur ce tableau, mais il est évidemment impossible de le faire à moins d'allouer manuellement de la mémoire. J'aimerais donc savoir si l'allocation est possible :
for(i = 0; i < 26; i++)
{
llist[i] = malloc(sizeof(SomeStruct));
}
peut être libéré ultérieurement de la manière suivante :
// (where ptr is a pointer to the first allocation in llist)
for(i = 0; i < 26, i++)
{
free(ptr);
ptr += sizeof(SomeStruct);
}
Editer :
Il semble que je ne puisse pas le faire. Existe-t-il un moyen de libérer toute la mémoire en ne disposant que d'un pointeur sur le premier élément ? Ou dois-je adopter une approche totalement différente ?