若有以下定义的语句 struct student {int age; int num;}; struct student stu[3]={{1001,20},{1002

1若有以下定义的语句structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{100... 1 若有以下定义的语句 struct student {int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; main() {stmct student *p; p=stu; …} 则以下不正确的引用是
A.(p++)->num
B.p++
C.(*p).num
D.P=&stu.age.为什么d选项是非法的?
2 以下对C语言中共用体类型数据的正确叙述是______。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
为啥c是正确的?就是把b告诉我为啥是错的
3以下对枚举类型名的定义中正确的是
A)enum a={one,two,three}; B)enum a {one=9,two=-1,three};
C)enum a={"one","two","three"}; D)enum a {"one","two","three"};
展开
 我来答
NewLife891218
2013-05-25 · TA获得超过781个赞
知道小有建树答主
回答量:217
采纳率:100%
帮助的人:73.3万
展开全部

1,很显然啊,p是什么,p是指向结构体这个类型的指针。也就是说,p里面放的地址,你对它进行引用,他去这个地址找,会发现一个结构体变量。你得思维开阔点儿,把结构体也想成一个普通类型的变量。

 

stu.age是int类型,你讲int类型的地址给一个结构体,肯定不对啊。但是我想说的是,这两个地址的值是一样的。你看下面这个图,也许对你有点儿帮助:

 

所以,切莫以为两个指针值一样,就可以认为相当,指针的赋值,一定要类型匹配。

 

2.这个好好看书上的定义吧,比我讲的详细。

 

3.枚举的格式而已,首先不能enum a={};注意没有等于的,这就是a错的原因。

pjx803
2013-05-24
知道答主
回答量:16
采纳率:0%
帮助的人:21.3万
展开全部
1 类型不匹配,P类型为stmct student,stu.age为int
2 共用体变量 共用同一内存空间
3 B
追问
能不能告诉我第三题a错在哪里 还有第二题是公用一块存储空间 但是与存放成员有联系么 他们不是覆盖了么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式