typedef struct List{ struct List *next; int val; }* Liste; Liste delete(Liste head,int delval) { Liste prev, curr; curr=head; while(curr!=NULL){ if(curr->val==delval) { if(head==curr) { head=curr->next; free(curr); curr=head; } else { prev->next=curr->next; free(curr); curr=prev->next; } } else { prev=curr; curr=curr->next; } } return head; }