为什么要内存对齐?
1.有的系统不支持int8这么小的变量,比如只支持int32类型,那么就要用int32去存储int8
2.为了内存获取速度更快
解释一下第二个原因:实际内存读取时,是内存单元每n个为一组,一次读一组
举例说明:
首先,定义一个struct:
求sizeof(s)=? 8
分别占的字节数:int:4 char:1
读取a,b需要的内存访问次数:
应用内存对齐:
读取a,b均只需一次
不应用内存对齐:
读取a需一次内存访问,读取b需要两次
所以说:内存对齐使得内存的访问次数更少,获取速度更快
原文:https://www.cnblogs.com/wuweixiong/p/13300921.html