内存对齐:
在讨论之前我们先看一个栗子:
#include<iostream>
using namespae std;
int main()
{
struct A
{
int a;
char b;
char c;
};
struct B
{
char b;
int a;
char c;
}
cout<<sizeof(A)<<endl;
system("pause");
return 0;
}
从上面代码中,我们首先计算结构体A的大小,int类型占4字节,char类型占1字节,那么结构体的大小是不是4+1+1=6呢?
我们再来看结构体B与结构体A的成员是相同的,但是所占内存大小是不是相同呢?我想你们心中已经有答案了,不管你的答案是什么,我们现在来验证验证?
嗯?结构体A的大小不是6么?而且结构体A