问题 单项选择题

若有如下说明,则_______的叙述是正确的。
struct st
int a;
int b[2];
a;

A.结构体变量a与结构体成员a同名,定义是非法的

B.程序只在执行到该定义时才为结构体st分配存储单元

C.程序运行时为结构体st分配6个字节存储单元

D.类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)

答案

参考答案:D

解析:[评析] 结构体变量a与结构体成员a同名是合法的定义,引用成员a的方法是aa,变量a处于不同的“层次”上,系统完全能够分情。st是一个结构体名,不会为结构体名分配存储空间,应该是在运行时为结构体变量a分配6个字节的存储单元,故选项B和选项C错误。

单项选择题
单项选择题