C语言选择题,详解

以下对结构体变量stu1中成员age的引用有效的是()。structstudent{intage;intnum;}stu1,*p=&stu1;A)student.ageB... 以下对结构体变量stu1中成员age的引用有效的是( )。
struct student
{int age;
int num;
}stu1,*p=&stu1;
A) student.age B) p.age C) p->age D) *p.age
以上题目选什么?为什么?
展开
 我来答
班丘访曼96
2013-01-10 · 超过23用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:60.2万
展开全部
C
struct student为结构体类型
引用结构体变量中的成员的值的方式为:
结构体变量名.成员名
【A不符合】

通过指针引用结构体变量是用(*p).age表示。
(*p)表示p所指向的结构体变量,(*p).age是p指向的结构体变量中的成员age。
注意 *p两侧的括号不可省,因为成员运算符“.”优先于“*”运算符,*p.age就等价于*(p.age)了。

为了使用方便和直观,C语言允许把(*p),age用p->age来代替,“->”代表一个箭头,p->age表示P所指向的结构体变量中的age成员。同样,(*p).age等价于p->age。“-> ”称为指向运算符。

如果p指向一个结构体变量stu,以下三种用法等价:
①stu.成员名(如stu.age);
②(*p).成员名(如(*p).age);
③p->成员名(如p->age)。
【B、D不符合】
键盘雀跃
2013-01-10 · TA获得超过981个赞
知道小有建树答主
回答量:1546
采纳率:0%
帮助的人:480万
展开全部
A)student.age //student是自己定义的结构体名称,只是一个类型名称,如int,char,float...
int 如何用?
int x; 这个x才是真正的变量.
同上,
struct student stu1;
定义一个student结构体的变量stu1.
所以正确写法是stu1.age
B)p.age //p是一个指针,引用时用->,这里却用了.
C)p->age //正确答案
D)*p.age //*为取值运算符,取p内容
--------------------------------
总结:
1) 结构体变量.成员名
2) 指向结构体变量的指针->成员名
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f3b3e02
2013-01-09 · TA获得超过2156个赞
知道小有建树答主
回答量:821
采纳率:90%
帮助的人:583万
展开全部
C是正解,student结构体,A首先排除; p是指针,B也是错的;C是正解;D中*p是指针变量对应的值,表达也不符合
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MichaelArnold
2013-01-10
知道答主
回答量:16
采纳率:100%
帮助的人:8.2万
展开全部
本人认为选C,p为指针,应用 -> 调用成员,故B错。A错在student不是变量,而是结构体。D应该不可以这样表示吧(这个我找不出证据说服)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
meng1231018
2013-01-10
知道答主
回答量:23
采纳率:0%
帮助的人:8.4万
展开全部
C
只有C表达对的,
你大可以写到VS里,例如写D项:写到*p.后不会出现成员表。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hepday
2013-01-10 · TA获得超过718个赞
知道小有建树答主
回答量:1074
采纳率:73%
帮助的人:305万
展开全部
--------------------我错
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式