有以下说明和定义语句 struct student {int age;char num[8];}; struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}}; struct stud

admin2018-11-21  20

问题 有以下说明和定义语句
struct student
{int age;char num[8];};
struct student stu[3]={{20,"200401"},{21,"200402"},{19,"200403"}};
struct student *p=stu;
以下选项中引用结构体变量成员的表达式错误的是

选项 A、(p++)->num
B、p->num
C、(*p).num
D、stu[3].age

答案D

解析 本题考查结构体和结构体指针,stu是一个结构体数组,p是结构体指针,且p指向stu数组,即p指向了stu数组的首元素地址。选项A)中p++表示先引用p指针,然后p指向下一个元素,(p++)->num表示取出stu首元素的num值,然后p指向stu[1]元素地址;选项B)是通过结构体指针访问结构体元素,使用“->”运算符;选项C)中*p代表stu[0]元素,因此(*p).num表示stu[0].num:选项D)中,stu数组的长度为3,stu[3]已经超出数组范围,错误。
转载请注明原文地址:https://kaotiyun.com/show/hYxp777K
0

最新回复(0)