摘要:
下面是我摘录的网上的解释:有如下的两个结构体:struct A struct B { {int a; int a;unsigned __int64 b; short c; short c; unsigned __int64 b;}; }; 那么 sizeof(A) 和 sizeof(B) 一样吗?让我在编译器里试一下,啊 ? 怎么不一样?两个结构体明明相同,只是第二和第三个成员变量的位置颠倒了结果却大相径庭。到底是因为什么呢?答案是编译器的数据对齐方式在作怪。以 vc6.0 为例,默认情况下的对其方式是 8 位。所以 struct A 的大小为 24 , struct B 的大小为 16, 下 阅读全文
posted @ 2011-01-15 11:42 zhucde 阅读(744) 评论(0) 推荐(0) 编辑