void reverse() { struct node *p; p=start;//start holds the address of the first node
void reverse() { struct node *p1,*p2,*p3; p1=start; p2=p1->next; p1->next=NULL; while (p2!=NULL) { p3=p2->next; p1=p2; p2->next=p1; p2=p3; } start=p2; }