下列程序段的正确描述是( )。 struct student{ int a; int b[2]; }a; A、

下列程序段的正确描述是( )。
struct student{
int a;
int b[2];
}a;
A、结构体变量a与结构体成员a同名,定义是非法的
B、程序只执行到该定义时,才为结构体student分配存储单元
C、程序执行时为结构体变量a分配6字节的存储单元
D、结构体类型名可以通过extern关键字提前引用

正确答案:D
解析:结构体变量a与结构体成员a同名是合法的定义,引用成员a的方法是aa,变量a处于不同的“层次”上,系统完全能够分清。st是一个结构体名,不会为结构体名分配存储空间,应该是在运行时为结构体变量a分配6个字节的存储单元,故选项B和选项C错误。
温馨提示:答案为网友推荐,仅供参考
相似回答