首页 > 试题广场 >

在32位系统中,下面结构体中,sizeof(A)=[$##$

[填空题]
在32位系统中,下面结构体中,sizeof(A) = 1, sizeof(B) = 2,sizeof(C) = 3(单位字节,只用填数字)
struct A
{
    int a;
    char b;
    short c;
};

struct B
{
    char b;
    int a;
    short c;
};

#pragma pack(2)
struct C {
    char b;
    int a;
    short c;
};
#pragma pack( )

8,12,8;A:int为最高字节,第一行为int,占四个字节,第二行为char,占一个字节,由于不满4字节对齐,加上short后仍差1字节对齐,所以添加一个空字节,共8字节;C:规定了为2字节,short和int都超过或等于4字节,char差一字节,用空字节对齐,所以4+2+2=8字节
编辑于 2024-04-20 14:17:10 回复(0)