首页/ 题库 / [单选题]若有如下说明,则______的叙述是正确的答案

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

单选题
2022-01-14 23:40
A、结构体变量a与结构体成员a同名,定义是非法的
B、程序只在执行到该定义时才为结构体st分配存储单元
C、程序运行时为结构体st分配6个字节存储单元
D、类型名struct st可以通过extern关键字提前引用(即引用在前,说明在后)
查看答案

正确答案
D

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

标签:
相关题目
若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______
若有以下结构体定义,则______是正确的引用或定义。 struct example { int x; int y; }v1;
整型变量a、b定义如下,表达式抖++a==b的值是______。 int a=3; int b=4;
设有以下语句 typedef struct TT {char c; int a[4];}CIN; 则下面叙述中正确的是______。
有如下类定义: class Test { int x_,y_; public: Test ():a_(0) ,b_(0) {} Test(int a,int b=0) :a_(a),b_(b){} }; 若执行语句 Test x(2) ,y[3],*z[4]; 则Test类的构造函数被调用的次数是( )。
若有定义语句:int k[2][3],*pk[3];,则以下语句中正确的是______。
若有int *x[3]:则以下表述正确的是 ______。
若有int(*p)[3]:则以下表述中正确的是 ______。
若有定义:int a=2,b=3;float x=3.5,y=2.5;则下面表达式的值为______。(float)(a+b)/2+(int)x%(int)y
若有定义int*p[3];,则以下叙述中正确的是______。
若有定义int * p[3]:,则以下叙述中正确的是 ______。
设有如下定义,则以下叙述中正确的是______。 int(*ptr)();
若有int a[]={2,4,6,8,10};int *p=a;则第2个数组元素的正确表示为 ______。
若有以下说明和定义:fun(int*c){ }main(){ int(*a)()=fun,*b(),w[10],c; ……}在做必要的赋值之后,对fun函数的正确调用语句是______。
若有以下说明和定义 fun(int*c){...} main() { int(*a)()=fun,(*b)(),w[10],c; } 在必要的赋值之后,对fun()函数的正确调用语句是______。
设有以下说明语句 struct num { int a; float b; }numl;则下面的叙述不正确的是______。
若有说明“int s[3][4]={0}:”,则下面正确的叙述是______。
若有如下说明,则______的叙述是正确的。 struct st { int a; int b[2]; }a;
若有说明:int s[2][3]={0};,则下面正确的叙述是______。
下列程序的输出结果是______。 int b=2; int func(int*a) {b+=*a;return(b); } main() { int a=2,res=2; res+=func(&b); printf("%d ,res); }
广告位招租WX:84302438

免费的网站请分享给朋友吧