c++字节对齐编译器指令#pragma

第一种

#pragma pack(push, 1) // 先把当前对齐设置压栈,再设置为1字节对齐
struct S
{
    char a;
    int an[1];
};
#pragma pack(pop)    // 恢复先前压栈的设置
#pragma pack(push, 1)相当于
#pragma pack(push)
#pragma pack(1)

第二种

#pragma pack (n)             //作用:C编译器将按照n个字节对齐。
struct S
{
    char a;
    int an[1];
}
#pragma pack ()              // 作用:取消自定义字节对齐方式

 

上一篇:题解 P1972 【[SDOI2009]HH的项链】


下一篇:gcc 变量类型大小 练习