#include #include void add(int,char); void print(); struct x { int i; char c; struct x * next; }; struct x * head = NULL; int main(void) { add(1,'a'); add(2,'b'); add(3,'c'); add(4,'d'); print(); return 0; } void add(int i, char c) { struct x * current = head; if( head == NULL ) { head = malloc( sizeof( struct x) ); head->i = i; head->c = c; head->next = NULL; } else { for(;current->next != NULL; current=current->next); current->next=malloc(sizeof(struct x)); current = current->next; current->i = i; current->c = c; current->next = NULL; } } void print() { struct x * current = head; if( current == NULL ) return; for(;current != NULL; current=current->next ) { printf("%d %c\n", current->i, current->c); } }