内存对齐

为什么要内存对齐?

1.有的系统不支持int8这么小的变量,比如只支持int32类型,那么就要用int32去存储int8

2.为了内存获取速度更快

解释一下第二个原因:实际内存读取时,是内存单元每n个为一组,一次读一组

 

举例说明:

首先,定义一个struct:

 

 求sizeof(s)=?    8

分别占的字节数:int:4  char:1

 

读取a,b需要的内存访问次数:

应用内存对齐:

读取a,b均只需一次

 

不应用内存对齐:

读取a需一次内存访问,读取b需要两次

 

所以说:内存对齐使得内存的访问次数更少,获取速度更快

 

posted @ 2020-07-14 19:00  wind_y  阅读(180)  评论(0编辑  收藏  举报