可能重复的问题:
为什么结构体的sizeof不等于各成员sizeof之和?
我有一个简单的C结构体,定义如下:
typedef struct LMWinData {
UInt8 itemTypeID;
UInt16 serviceID;
UInt16 methodID;
} LMWinData;
在代码的后面,我会像这样定义一个此类型的变量:
LMWinData lmWinData;
现在,如果我打印出这个变量的大小:
NSLog(@"data has size of %lu bytes", sizeof(lmWinData));
我没有得到期望的5个字节的值,而是得到了6个字节的大小。
那么,出了什么问题呢?
非常感谢!
(我正在使用Mac OS X Lion。)