C: How To Free Nodes In The Linked List?
Answer :
An iterative function to free your list:
void freeList(struct node* head) {    struct node* tmp;     while (head != NULL)     {        tmp = head;        head = head->next;        free(tmp);     }  }   What the function is doing is the follow:
check if
headis NULL, if yes the list is empty and we just returnSave the
headin atmpvariable, and makeheadpoint to the next node on your list (this is done inhead = head->next- Now we can safely 
free(tmp)variable, andheadjust points to the rest of the list, go back to step 1 
Simply by iterating over the list:
struct node *n = head; while(n){    struct node *n1 = n;    n = n->next;    free(n1); }  
Comments
Post a Comment