结构体内部变量字节对齐问题
计算机所做的一切工作和预处理,都可以从提高效率或者提高安全性考虑。
这里主要是为了提高计算机效率。
1.首先弄明白计算机的数据读取问题:每次取数据的总线周期,都是从偶地址开始,然后顺序取出后面所需的地址,比如计算机内部采用低位交叉的多体存储技术(假设有四个存储器交叉组成)。那么读取一个int类型的数据,需要花费一个总线周期,也就是连续读取四个字节的时间。读取一个double类型的数据则要花俩个总线周期。
2.如果int类型数据存储地址的低俩位不是00(比如01),那么在一个总线周期内便无法读取到该int数据的全部值(只能读到01,02,03的数据),还需要再花一个总线周期。这样是非常耗费时间的。
3.所以,字节对齐实际上是一个以空间换时间的问题