1
Здесь я хочу извлечь слова из строки 'text'
. Д-р памяти говорит мне, что у меня есть утечка памяти по строке words = (char**) realloc(words, (amount + 1) * sizeof(char*));
В чем проблема?Ошибка утечки памяти, функция realloc()
p = strtok(text, " ");
while(p != NULL) {
words = (char**) realloc(words, (amount + 1) * sizeof(char*));
words[amount] = strdup(p);
amount ++;
p = strtok(NULL, " ");
}
for(i = 0; i < amount; i ++) {
free(words[i]);
}
На самом деле это, кажется, именно то, что он делает, он просто забывает освободить фактический массив. –
@JoachimIsaksson, да, правильно, я просто не указал его. :) – Devolus
Я делаю это в моем цикле ниже – user3021370