问题 单项选择题

有以下说明和定义语句 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.(*.num

D.stu[3].age

答案

参考答案:D

解析:结构体变量也有地址,因此可以把它的地址赋值给一个指针变量,然后通过该指针变量来引用结构体的成员,选项A和选项B就是通过指针变量来引用结构体的成员,也可以通过结构体数组元素的成员引用,而在选项D中stu[3].age不正确,因为结构体数组stu共有三个元素,其下标应该为0,1,2。

单项选择题
单项选择题