正在加载图片...
int size= sizeof (BaoBao) cout < Sizeof struct baobao=<< size < endl return 0: 按F9后看到运行结果 E:\d2school\ bcyl\ bhcpp'\newls-O 请按任意键继续. 奇怪, Baobao结构的大小,竟然是20。比我们猜测的19,多出了一个字节? 事情是这样的。就像我们去小店买东西,假设有一天我们要去赶飞机,走之前去小店买了点 食品,总价19元,店老板没有1元钱,于是我们为了能快点出发,就直接给他20元,告诉他 不用找零钱了。 为了效率,编译器也会有类似的动作。这称为结构的“字节对齐”,当然,这个对齐方法要 比我们的19取整到20复杂一点。关于编译器是通过什么规则来把一个结构进行扩展,我们留} ; #pragma argsused int main(int argc, char* argv[]) { i n t s ize = s i zeof(BaoBao); c o ut < < " SizeOf s truct B aoBao = " < < s ize < < e ndl; s y stem("PAUSE"); return 0; } //--------------------------------------------------------------------------- 按 F9 后看到运行结果: (sizeof BaoBao) 奇怪,BaoBao 结构的大小,竟然是 20。比我们猜测的 19,多出了一个字节? 事情是这样的。就像我们去小店买东西,假设有一天我们要去赶飞机,走之前去小店买了点 食品,总价 19 元,店老板没有 1 元钱,于是我们为了能快点出发,就直接给他 20 元,告诉他 不用找零钱了。 为了效率,编译器也会有类似的动作。这称为结构的“字节对齐”,当然,这个对齐方法要 比我们的 19 取整到 20 复杂一点。关于编译器是通过什么规则来把一个结构进行扩展,我们留
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有