В настоящее время я пишу связанный список и пытаюсь освободить память при удалении узла. Однако, после нескольких часов попыток сделать это, я не могу получить чистый вывод valgrind.
void * pop(struct List *list)
{
if(list->head == 0){
return 0;
}
struct Node * tempNode = list->head->next;
free(list->head);
list->head = tempNode;
...
}
Я выделяю пространство, говоря:
addNode(struct List *list, void *element){
struct Node *node;
node = (struct Node *)malloc(sizeof(node));
....
}
По сути, в функции pop я хочу убрать заголовок списка и сделать следующий узел заголовка новым. Я хочу освободить память, которая была дана голове.
Спасибо за любую помощь