// 比如有这样的结构体struct A{ char a; // 占1个字节 int b; // 占4个字节};// 那这个结构体一共要占5个字节的内存吗?// 不是的,系统会把它填充成8个字节,这就是字节对齐// 那系统为什么要这样做呢,这涉及到存取的效率问题// 从硬件角度看,32位的CPU通过总线访问内存,一个总线周期访问32位内存数据// 刚刚好4个字节,所以4字节对齐的存取效率是较高的// 这就是牺牲空间换取效率了// 当然不对齐CPU也能访问,就是要花点功夫而已