代码中的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);
}
展开
 我来答
匿名用户
2015-04-19
展开全部
代码中的p=head是指针间的赋值,p不是指向指针的的二重指针(从struct st a,b,c,*head,*p;可以知道)
追问
为什么?能举个例子说明吗?
追答
这个程序中有head=&a;
a是结构类型变量,这一使用格式和原子类型的变量(整形变量等)一样,
取a的地址后,就可以用指针访问a中的成员,格式为”head->成员名“,如head->num、head->score、head->next

head=&a;(取变量地址)
和p=head;(指针赋值)
依次出现
就可以有p->num、p->next,指针p就可访问a中的成员。
使用指针最终的目的是访问某一结构类型变量或者对结构类型变量进行赋值等的操作
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式