当#pragma pack(n)语句中的参数n为不同的数值时, s i z e o f ( S i z e )语句的返回值是不同的。

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:00:44
当#pragma pack(n)语句中的参数n为不同的数值时, s i z e o f ( S i z e )语句的返回值是不同的。

为什么会是这样的效果c++,这两者的关联是会?

这个#pragma pack(n)会影响数据类型的有效对齐值

有四个概念值:
1.数据类型自身的对齐值:就是上面交代的基本数据类型的自身对齐值。
2.指定对齐值:#progma pack (value)时的指定对齐值value。
3.结构体或者类的自身对齐值:其成员中自身对齐值最大的那个值。
4.数据成员、结构体和类的有效对齐值:自身对齐值和指定对齐值中小的那个值。

具体参考:
http://hi.baidu.com/pur_e/blog/item/6a21d21231981c896438db46.html