У меня есть связанный список со списком песен, который я пытаюсь удалить, однако, когда я его тестирую, мои данные все еще там, а не освобождены.Удалены все узлы в связанном списке
deleteAllNodes(head);
if (head == NULL)
printMusicLibraryEmpty();
Я пытаюсь проверить, что если моя голова теперь NULL, я печатать мое пустое сообщение, но сейчас он не печатает, что означает, что данные не будут удалены.
Node *deleteAllNodes(Node *head) {
while (head != NULL) {
Node *firstNode = head;
songNameDeleted(firstNode -> songName);
head = head -> link;
free(firstNode);
firstNode = NULL;
}
return NULL;
}
вы никогда не измените переменную головы. Вы берете копию указателя на голову, а затем NULL на первой итерации deleteAllNodes – Alexguitar