您的位置:首页 > 其它

内存字节对齐

2011-01-16 17:00 429 查看
#pragma pack(8)
struct A
{
	char a;
	short b;
};
struct B
{
	char c;
	A d;
	long long e;
};
#pragma pack()


A stA;
B stB;
stB.c = 1;
stB.d.a = 2;
stB.d.b = 3;
stB.e = 4;
A *pA = &stA;
B *pB = &stB;
sizeof(A);
sizeof(B);


sizeof(A) :4

sizeof(B) :16



B的内存:01 cc 02 cc 03 00 cc cc 04 00 00 00 00 00 00 00



#pragma pack(8)
struct A
{
	char a;
	long b;
};
struct B
{
	char c;
	A d;
	long long e;
};
#pragma pack()


A stA;
B stB;
stB.c = 1;
stB.d.a = 2;
stB.d.b = 3;
stB.e = 4;
A *pA = &stA;
B *pB = &stB;
sizeof(A);
sizeof(B);






sizeof(A) :8

sizeof(B) :24

B的内存:01 cc cc cc 02 cc cc cc 03 00 00 00 cc cc cc cc 04 00 00 00 00 00 00 00
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: