*head和*p都是指针,且有语句p=head;那么应该是指向指针的指针,为什么不能把*p改为**p?

#include<stdio.h>structst{intnum;floatscore;structst*next;};voidmain(){structsta,b,c,... #include<stdio.h>
struct st
{
int num; float score;
struct st *next;
};
void main()
{
struct st a,b,c,*head,*p;
a.num=10101; a.score=89.5;
b.num=10103; b.score=90.0;
c.num=10107; c.score=85.0;
head=&a;
a.next=&b;
b.next=NULL;
p=head;
do
{
printf("%ld %5.1f\n",p->num,p->score);
p=p->next;
}
while(p!=NULL);
}
展开
 我来答
yanglei5658
推荐于2016-06-12 · TA获得超过4756个赞
知道大有可为答主
回答量:835
采纳率:100%
帮助的人:524万
展开全部

你这个想法是不正确的。

head指针是记录链表起始的头指针。

p指针是用来插入节点的指针。

开始的时候,head指针与p指针在一块,随着后面插入加点,head指针不变,p指针向后移。

对于

p=head

就表示开始两个指针指的位置相同,所以没有问题,并不是要指向指针的指针。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式