my global pointe are
struct node * head = NULL;
struct node * end = end;

void insertnode( struct node *new )
struct node *cur, *prev;
.. as you told, but not working....
...I think the List type means, I didn't understand...

AND one more, Please, have Look on my initnode function too...

struct node *initnode(char *name, int id)
if( ptr == NULL )
printf(" Out of Memory !!")
} else
strcpy( ptr->name, name );
strcpy( ptr->phone, phone);
ptr->id = id; /* copy id details */
ptr->next = NULL; /* make clean the point */

return ptr; /* return pointer to new node */

and Please, again tell me, how I can change it .......

......I think, if you want you can find my whole program in this BOARD too, searching as Circular Linked List or yescha(my ID)