问题 单项选择题

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

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

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

C.程序段:data.a=5;printf("%f\n",data.c);的输出结果为5.000000

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

答案

参考答案:C

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

多项选择题 案例分析题
单项选择题 案例分析题