一:结构体的内存分析
结构体的内存寻址以及分配与别的数据不一样,必须遵循对齐算法
(1)对齐算法的两个原则
1:当前任意一个元素相对于结构体首字节的偏移量,必须是其本身所占字节数的整数倍
偏移量:就是元素的第一个字节移动到结构体首字节需要移动几个字节,则偏移量就是几
规定:0是任何字节的整数倍
如果不满足,则需要向高位移动,直到满足为止,空位给上一个元素
2:当前整个结构体所占用的字节数,必须是其最大元素所占字节的整数倍。
----------------例子
struct Person {
char a;
int b;
char c;
double d;
}
图片解析:当前结构体所占用的字节数是:24