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

admin2010-01-10  24

问题 有如下说明和定义语句:    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

答案8

解析 结构体变量也有地址,因此可以把它的地址赋值给一个指针变量,然后通过该指针变量来引用结构体的成员,选项A和选项B就是通过指针变量来引用结构体的成员,故选项A和选项B都正确,也可以通过结构体数组元素的成员引用,选项C和选项D属于这种情况,而在选项D中stu[3].age不正确,因为结构体数组stu共有3个元素,其下标应该为0,1,2。所以,4个选项中选项D符合题意。
转载请注明原文地址:https://kaotiyun.com/show/NUWp777K
0

最新回复(0)