单选题
设有如下定义:
struct{ int n; char c; }a[2],*p=a;
则以下错误引用结构体成员n的是______。
【正确答案】
A
【答案解析】[解析] 若已定义了一个结构体变量和一个同一结构体类型的指针变量,并使该指针指向同类型的变量,则可用以下3种形式来引用结构体变量中的成员,其中结构体变量名也可以是已定义的结构体数组的数组元素:结构体变量名.成员名;指针变量名->成员名;(*指针变量名).成员名。题目中a为数组名是地址常量,不是指针变量,A选项引用错误。a[0]为变量名,B选项引用正确。p为指针,且正确的指向结构体变量,C选项引用正确。D选项符合第三种引用方式,引用正确。