内存对齐
内存对齐到底是怎么回事,不是以四个字节位一个单位吗 内存
[解决办法]
内存对齐跟cpu架构和操作系统相关,绝对不是简简单单四个字节为一单元,不过有一个一般规律,对齐后结构体大小一般是结构体内最大数据类型长度的整数倍。
struct item0{
char a;
int b;
char c;
} 12字节
struct item1{
int a;
char b;
} 8字节
struct item2{
double a;
int b;
char c;
} 16字节
[解决办法]
定义一个结构体,用sizeof看看成员的体积,再用offsetof看看成员的偏移量,就会有感觉了。