一.
sizeof : 运算符,sizeof(a),在编译阶段用a占用的栈空间大小替换sizeof(a).
1.
class test
{
int n;
static int m;
}
sizeof (test)==4!=8 因为static放在静态区而不是栈空间,所以sizeof 不于计算。
2.
int a=0;
sizeof(a=1)==4 此句之后a的值还为0,因为sizeof 只进行替换,不进行计算。
3. int fun(){return 1;}
sizeof(fun())==4
二.
2.强制对齐。 32位的机器,最多对齐到4字节。
对齐后使结构体的大小对齐要求的整数倍。
sizeof : 运算符,sizeof(a),在编译阶段用a占用的栈空间大小替换sizeof(a).
1.
class test
{
int n;
static int m;
}
sizeof (test)==4!=8 因为static放在静态区而不是栈空间,所以sizeof 不于计算。
2.
int a=0;
sizeof(a=1)==4 此句之后a的值还为0,因为sizeof 只进行替换,不进行计算。
3. int fun(){return 1;}
sizeof(fun())==4
二.
1.自然对齐。 #pagram pack()
2.强制对齐。 32位的机器,最多对齐到4字节。
对齐后使结构体的大小对齐要求的整数倍。