struct sizeof结果不是预期的

Kaz*_*zar 3 c++ struct sizeof

我有一个如此定义的结构:

typedef struct _CONFIGURATION_DATA {
    BYTE configurationIndicator;
    ULONG32 baudRate;
    BYTE stopBits;
    BYTE parity;
    BYTE wordLength;
    BYTE flowControl;
    BYTE padding;
} CONFIGURATION_DATA;
Run Code Online (Sandbox Code Playgroud)

现在,通过我的计算,该结构长度为10个字节.但是,sizeof报告它长16个字节?谁知道为什么?

我正在使用Windows DDK中的构建工具进行编译.

Pav*_*sky 10

对准.

使用

#pragma pack(1)

...struct goes here...

#pragma pack()

我还建议重新排序,如果需要填充然后使用RESERVED字节,这样多字节整数类型将更好地对齐.这将使CPU处理速度更快,代码更小.