union test { int x; char arr[8]; int y; }; int main() { printf ( "%d" , sizeof ( union test)); return 0; } |
预测上述程序的输出。假设整数的大小为4字节,字符的大小为1字节。还假设不需要对齐。 (A) 12 (B) 16 (C) 8. (D) 编译错误 答复: (C) 说明: 当我们声明一个union时,为该类型的union变量分配的内存等于其最大成员所需的内存,并且所有成员共享相同的内存空间。在上面的例子中,“char arr[8]”是最大的成员。因此,联合测试的大小是8字节。 这个问题的小测验
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END