单选题
若有如下说明,则_______的叙述是正确的。
struct st
{ int a;
int b[2];
}a;
A. 结构体变量a与结构体成员a同名,定义是非法的
B. 程序只在执行到该定义时才为结构体st分配存储单元
C. 程序运行时为结构体st分配6个字节存储单元
D. 类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)
A
B
C
D
【正确答案】
D
【答案解析】
[解析] 结构体变量a与结构体成员a同名是合法的定义,引用成员a的方法是aa,变量a处于不同的“层次”上,系统完全能够分情。st是一个结构体名,不会为结构体名分配存储空间,应该是在运行时为结构体变量a分配6个字节的存储单元,故选项B和选项C错误。
提交答案
关闭