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

admin2018-01-11  11

问题 有以下说明和定义语句
    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/5Uxp777K
0

最新回复(0)