内存对齐
内存对齐解决了什么问题?
内存对齐是为了提高程序运行的效率而诞生的,因为CPU在读取/写入数据时都是以机器字长为单位的,并且只能读取以特定地址起始的数据,当某些数据的内容刚好横跨了机器字长的边界时,这意味着CPU要多次读取才能访问到全部的内容。而内存对齐就是防止这一现象发生。
内存对齐的规则是什么?
内存对齐的定义:某个元素的内存地址大小为Addr时,当它满足Addr%X == 0时,就称Addr按照X字节是对齐的,而实际的X必须是2的次方才行。
结构体内存对齐的实现:通过在不满足内存对齐的成员后添加padding空间来保证每个成员的内存对齐
结构体的内存对齐主要有以下两个规则:
- 结构体