📜  C |结构与联合|问题7

📅  最后修改于: 2021-05-29 13:07:14             🧑  作者: Mango

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)
说明:声明联合时,为该类型的联合变量分配的内存等于其最大成员所需的内存,并且所有成员共享相同的内存空间。在上面的示例中,“ char arr [8]”是最大的成员。因此,联合测试的大小为8个字节。
这个问题的测验

想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。