试题与答案

若有以下说明和定义union dt int a;char b;double c; d

题型:单项选择题

题目:

若有以下说明和定义
union dt
int a;char b;double c; data;
以下叙述中错误的是

A.data的每个成员起始地址都相同

B.变量data所占内存字节数与成员c所占字节数相等

C.程序段:data. a=5;printf(“%I'm”,data. C);输出结果为5.000000

D.data可以作为函数的实参

答案:

参考答案:C

解析: 本题考查的共用体的概念。共用体变量中的所有成员共享一段公共存储区,所以共用体变量所占内存字节数与其成员中占字节数最多的那个成员相等.本题定义的共用体中成员C所占的内存最多,因此选项B是正确的。由于共用体变量中的所有成员共享存储空间,因此变量中的所有成员的首地址相同,选项A是正确的。同结构体变量一样,共用体类型的变量可以作为实参进行传递,也可以传送共用体变量的地址,选项D也是正确的。在内存中,实数与整数的存放形式完全不一样,共用体的成员共用的是同一块内存,而不是同一个数值,因此选项C是错误的。

试题推荐
微信公众账号搜索答案