首页 > 试题广场 >

在32系统下输出的结果为( ...

[单选题]
在32系统下输出的结果为(      )
#include <stdio.h>

#pragma pack(2)
struct Test1
{
    int a;
    char b;
    short c;
    int *d;
}A;
#pragma pack()

#pragma pack(4)
struct Test2
{
    int *d;
    char b;
    int a;
    short c;
}B;
#pragma pack()

int main()
{
    printf("%d,%d\n",sizeof(A),sizeof(B));
    return 0;
}


  • 12,16
  • 13,13
  • 16,16
  • 其他几项都不对
一个是2字节对齐,另一个是4字节对齐。
发表于 2019-10-18 10:52:25 回复(0)
struct用sizeof怎么计算的?
发表于 2019-09-26 13:39:01 回复(0)