内存字节对齐
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
相关文章推荐