问题 单项选择题

有以下说明和定义语句
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).numD) stu[3].age

答案

参考答案:D

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

选择题
单项选择题