以下是引用tntzwc在2007-10-12 12:36:52的发言:
struct A
{
char c; //1
int i; //4
long l; //8
}
以8为单位 第一个8分给 char 还剩7个 再分给 int还剩下 3个 ,由于long占8个所以这3个空下来,用第二个单位。
所以 8+8 =16
ruct B
{
int i; //8
long l; //8
char c; //8
}
以8为单位,第一个8分给 int还剩4个 再分给long 不够,所以剩下4个,第二个单位 分给long,每三个单位分给char 剩7个
看的懂吗?
真的受益很多啊