问题
单项选择题
以下程序的输出结果是
#include<stdio.h>
main()
union un int i;
long k;
char c;;
struct byte
int a;
long b;
union un c;r;
printf("%d\n",sizeof(r));
A.10
B.13
C.7
D.8
答案
参考答案:A
解析: 本题主要考查了结构体和共用体数据的存储形式。共用体的一个特点是所有数据成员共用一段存储单元,而结构体每个数据成员都单独占据一段存储单元。共用体所占存储单元的大小由长度最长的数据成员的长度决定。题中共用体变量c占据 4个字节的长度,结构体r所占存储空间的大小为int(2个字节)+long(4个字节)+共用体c(4个字节)=10个字节,所以答案为A)。