Я только начинаю узнавать о массивах malloc'd и realloc'd. Может ли кто-нибудь помочь мне объяснить, как правильно освободить свой следующий массив? Я пытался смотреть на другие должности, но у меня трудное время понимания выделения памяти в C.Освобождение массива Realloc'd в C
char ** result = NULL;
int numSpaces = 0;
char * p = strtok(command, " ");
/* split string and append tokens to 'result' */
while (p)
{
result = realloc (result, sizeof (char*) * ++numSpaces);
if (result == NULL)
exit (-1); /* memory allocation failed */
result[numSpaces-1] = p;
p = strtok(NULL, " ");
}
Спасибо, он работает сейчас. Я смотрел на некоторые примеры, и у них был свободный() в цикле for, и другие вещи продолжались, поэтому я был немного не уверен. Ура! – Peter