1. 内存对齐原因 平台原因:不是所有的硬件平台都能访问任意位置的任意数据,有些硬件只能访问特定地址的数据。为了确保代码的可移植性,需要内存对齐。性能原因:CPU通过地址总线来存取内存中的数据。内存对齐后,可大大增加CPU的访问速度。 2. 内存对齐原则 (1) 数据成员各自对齐 第一个成员的偏移量为0 其余数据成员的偏移量为min(#program pack(),数据成员自身长度)的倍数。 (2) 结构联合对齐 min(#program pack(),数据和联合最大的数据成员)的倍数。