【单选题】若有以下定义和语句 struct student { int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; int main() {struct student *p; p=stu;……} 则以下不正确的引用是()。

题目内容(请给出正确答案)

【单选题】若有以下定义和语句 struct student { int age; int num;}; struct student stu[3]={{1001,20},{1002,19},{1003,21}}; int main() {struct student *p; p=stu;……} 则以下不正确的引用是()。

A.(p++)->num

B.p++

C.(*p).num

D.p=&stu.ag

参考答案和解析
D 题目中给出了一个结构体,结构体类型名为 struct a。该结构体成员列表包括两个整型变量。随后定义了一个结构体数组st[3],该数组的大小为3,同时定义了一个结构体指针p,指向数组st。 选项A为(p++)->n,是指先将p的指针执行++操作,指向st[1],然后得到该结构体变量中的值n。 选项B为st[0].n,这个是标准的结构体数组变量引用,得到结构体数组变量st[0]中的值n。 选项C为(*p).n,该表达式与p->n是等价的,得到当前指针所指结构体变量中的值n。 选项D为p=&st.m,该选项是错误的。若p是一个定义过的指向结构体变量的指针,则用它指向结构体变量的某一个成员,编译时将指出地址的类型不匹配。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
更多相关问题