一、对齐值是什么
对其值是假定内存以该值划分,每个类型的值都必须从对齐值的倍数开始存储,就如对其值是8,假设有个整性变量a,那么a在内存中就必须从8的倍数的地址开始存储。
二、 对其值相关概念
(1)数据类型自身对齐值:基本数据类型的自身所占空间大小。
(2)指定对齐值:使用#pragam pack(value)时,指定的对齐值value。
(3)结构体的自身对齐值:其中成员对齐值最大的那个值。
(4)结构体的有效对齐值:自身对其值和指定对其值中较小的那个值
(5)结构体所占内存大小必须是其有效对其值的整数倍
三、示例代码
示例一
#include <iostream>
using namespace std;
struct X
{
char a; // [0]
double b; // [8, 15]
int c; // [16, 20]
}S2;
int main()
{
cout << sizeof(S2) << endl; // 24
cout << sizeof(S2.a) << endl; // 1
cout << sizeof(S2.b) << endl; // 8
cout << sizeof(S2.c) << endl; // 4
system(&#