2

在此处输入图像描述

为什么偏移量是:0 4 8 16 和 24?int = 4 个字节,double = 8 个字节。为什么标记上有x?你怎么知道什么时候使用x?

其他 2 个结构和联合偏移如何工作?

4

1 回答 1

3

因为数据类型通常与其大小对齐。所以一个四字节整数通常以四字节的倍数开始。这并不总是必要的,但它通常是一种效率方法。在某些架构中,如果您尝试访问未对齐的数据,它们实际上会崩溃(引发某种错误),这是必要的。

您拥有这些x字符的原因是因为它们是对齐以下数据项所需的填充。

于 2012-11-13T06:52:15.850 回答