Delete the whole list and set the head pointer to NULL. There is a slight complication
inside the loop, since we need extract the .next pointer before we delete the node, since
after the delete it will be technically unavailable.
after the delete it will be technically unavailable.
void DeleteList(struct node** headRef)
{
struct node* current = *headRef; // deref headRef to get the real head
struct node* next;
while (current != NULL)
{
next = current->next; // note the next pointer
free(current); // delete the node
current = next; // advance to the next node
}
*headRef = NULL; // Again, deref headRef to affect the real head back in the caller.
}
No comments:
Post a Comment