单选题
以下程序的输出结果是()。
以下程序的输出结果是()。
union myun
{ struct
{ int x, y, z; } u;
int k;
} a;
main()
{ a.u.x=4; a.u.y=5; a.u.z=6;
a.k=0;
printf("%d\n",a.u.x);}
A
4
B
5
C
6
D
0
答案解析
正确答案:D
解析:
myun是一个联合体结构,对于联合体的内存分布,这里一两句话说不清楚,展开一下就是上图示意的这个,其中K和U是重叠的,如果要问为什么U和K重叠,好吧,去看联合体的内存分配方式。
弄清楚这个问题之后就好办了,可以很明显地发现a.u.x和a.k指向的是同一个int型内存区,也就是说它们的值不管何时都是完全一样的。
所以改变a.u.x,a.k会受到影响,反正亦然!
因为执行了a.k=0;这一句,所以a.u.x也就变成了0,所以输出的是0.
弄清楚这个问题之后就好办了,可以很明显地发现a.u.x和a.k指向的是同一个int型内存区,也就是说它们的值不管何时都是完全一样的。
所以改变a.u.x,a.k会受到影响,反正亦然!
因为执行了a.k=0;这一句,所以a.u.x也就变成了0,所以输出的是0.
相关题目
单选题
一个关系数据库文件中的各条记录( )。
单选题
关系模型申,一个码是( )。
单选题
在关系R(R#,RN,S#)和S(S#,SN,SD)中,R的主码是R#,S的主码是S#,则S#在R中称为( )。
单选题
关系数据库中,能唯一标识一个元组的那个属性称为( )。
单选题
根据关系模式的完整性规则,一个关系中的"主码"( )。
单选题
在通常情况下,下面的关系中,不可以作为关系数据库的关系是( )c
单选题
关系数据库中的码是指( )。
单选题
在数据库技术中,面向对象数据模型是一种( )。
单选题
关系代数是一种代数式的关系数据语言,它除了传统的集合运算以外,还提供了专门的关系运算。专门的关系运算包括除法、选择、投影和( )。
单选题
下列不属于关系语言的特点是( )。
