【发布时间】:2009-12-16 10:49:07
【问题描述】:
我有一个这样定义的结构:
typedef struct _CONFIGURATION_DATA {
BYTE configurationIndicator;
ULONG32 baudRate;
BYTE stopBits;
BYTE parity;
BYTE wordLength;
BYTE flowControl;
BYTE padding;
} CONFIGURATION_DATA;
现在,据我估计,该结构有 10 个字节长。但是,sizeof 报告它是 16 字节长?有人知道为什么吗?
我正在使用 Windows DDK 中的构建工具进行编译。
【问题讨论】:
-
强制对齐?
-
记住:结构的大小可能不等于其成员大小的总和;允许实现在成员之间和最后一个成员之后插入填充。 总是按名称访问成员,而不是按偏移量,因为偏移量可能会在编译器版本和供应商之间发生变化。