四字节对齐遵循两条原则:
1.每个成员变量的起始存放地址是该变量大小的整数倍。
2.最终占用的空间大小是所有成员变量中最大成员的整数倍。
(数组可以看作多个连续的同类型的变量来计算)。
下面例子中变量c的存放起始地址遵循原则1,最后补出来的三个空白空间遵循原则2。

| addr | variable | value | byte | value |
| 0 | a | 0x01 | byte0 | 0x01 |
| 1 | b | 0x02 | byte1 | 0x02 |
| 2 | byte2 | |||
| 3 | byte3 | |||
| 4 | c | 0x03040506 | byte4 | 0x06 |
| 5 | byte5 | 0x05 | ||
| 6 | byte6 | 0x04 | ||
| 7 | byte7 | 0x03 | ||
| 8 | d | 0x07 | byte8 | 0x07 |
| 9 | byte9 | |||
| 10 | byte10 | |||
| 11 | byte11 |
1564

被折叠的 条评论
为什么被折叠?



