回复 19楼 书生牛犊
之前我一直以为p1=head是让head指向p1这个结点,然后就陷入各种误区了!您说p1=head是把p1初始化,就是说 struct student *p1 只是定义了一个
指向student的结构体指针,这个指针需要一个初值(即指向具体的数据)
于是p1=head表明p1是指向链表(head),并且p1不一定是指向第一个结点,
而是指向链表的全部结点。这样的话才有后面的head=p1->next和p2->next=p1->next
这样的语句功能实现删除功能。(不知道我说的对不对,哪里有误解请指出)