问题
单项选择题
下列程序的输出结果是( )。 #include <stdio.h> main() { struct st{ int y,x,z; };union{ long i; int j; char k;} un; printf("%d,%d\n",sizeof(struct st),sizeof(un));}
A.6, 2
B.6, 4
C.8, 4
D.8, 6
答案
参考答案:B
解析: 本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。