问题 单项选择题

下列程序的输出结果是( )。
#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

解析: 本题主要考查结构体和联合内存使用的区别:结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立;联合所占用的内存空间为最长的成员所占用的空间。

填空题
多项选择题