结构体内存对齐以及空间大小
一.结构体内存为什么要对齐?
1.移植原因 - 计算机在内存读取数据时,只能在规定的地址处读取数据,而不是内存中任意地址都是可以读取的。不是所有的硬件平台都能访问任意地址上的数据,某些硬件平台只能在某些特定的地址处取某些特定的数据:比如有的只能读取地址处地址为8的倍数或者4的倍数等的数据。
2.效率原因: - 正式因为第一条的原因,在访问一些数据时,对于访问了为对齐的内存,处理器需要2次访问,而对齐的内存只需要一次。为什么不对齐的话要2次呢? 比如结构体中的2个成员char i = 'a'; int j
原创
2021-03-27 17:23:24 ·
192 阅读 ·
0 评论