
关于C语言链表的问题。
我看教材里面写着链表里必须有一个头指针,即head,定义一个结构体类型structsthudent;且结构体成员分别是{intnum,char[20],structstu...
我看教材里面写着链表里必须有一个头指针,即head,定义一个结构体类型struct sthudent;且结构体成员分别是{int num,char[20],struct student*x},定义三个结构体变量a,b,c作为链表当中的三个“结点”,具体操作如下:
head=&a;
a.struct student*x=&b;
b.struct student*x=&c;
c.struct student*x=NULL;
p=head;(p指向头指针,这句话让我很模糊,教材里解释为p指向a结点); 展开
head=&a;
a.struct student*x=&b;
b.struct student*x=&c;
c.struct student*x=NULL;
p=head;(p指向头指针,这句话让我很模糊,教材里解释为p指向a结点); 展开
展开全部
不是p指向头指针,是p就是头指针,p和head是相同的指针,因为p就是头指针,所以就指向第一个节点,比如a.num和p->num是相同的,p->x->num和b.num也是相同的
追问
如果p是头指针,为什么不直接把&a赋给p呢,如果p是头指针,既然功能与head一样,为什么还要用到head呢,直接定义一个p不就行了吗
追答
对的,直接用p就行了,那个head是给你看的,帮助理解
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询