#include #include #include typedef struct data{ char name[15]; struct data *next; }lnode; void list_add(lnode **np, char *s){ lnode *temp=malloc(sizeof(lnode)); temp->next=*np; *np=temp; strncpy(temp->name,s,sizeof(temp->name -1)); } void list_print(lnode *np){ while(np!=NULL){ printf("%s\n",np->name); np=np->next; } } void cleanup(lnode **np){ while(*np!=NULL){ lnode *temp=*np; *np=(*np)->next; free(temp); } } int main(int argc,char **argv){ lnode *fnode=NULL; puts("first print"); list_print(fnode); list_add(&fnode,"koko"); list_add(&fnode,"lala"); puts("second print"); list_print(fnode); cleanup(&fnode); return 0; }