问一个关于指针和结构体,链表的问题
果冻虾仁 2013-04-07 07:38:04 typedef int ElemType;
typedef struct LNode /*定义结点结构体类型*/
{
ElemType data; /*数据域*/
struct LNode *next; /*指针域*/
} LNode;
然后有一个逆置的函数:
LNode *reverlist(LNode *head) /*逆置链式基本线性表*/
{
LNode *p,*q,*r;
p=head;
q=p->next;
while(q!=NULL)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
head->next=NULL;
head=p;
return(head);
}
我想问的是这个逆置函数中的红色部分语句的含义。是什么。
既然下面要将head赋值为p那么上一句在对head的成员做修改还有什么意义。但是我试过去掉这一行。却又出现死循环