typedef struct List{ struct List *next; int val; }* Liste; Liste delete(Liste entry) { Liste elem; if(entry!=NULL){ elem=entry->next; if(elem==entry) { free(elem); entry=NULL; } else { while(elem->next!=entry) { elem=elem->next; } elem->next=entry->next; free(entry); entry=elem; } } return entry; }