struct node { int data; struct node *link; }*start; struct node *tmp; to delete the first node tmp = start; start = start->link; free(tmp);