WinCE 下最简单的字节对齐问题
扫描二维码
随时随地手机看文章
今天在使用结构体时发现结构用 sizeof 求出现的大小 与 实际的大小不一致。
例如:以下结构
typedef struct
{
BYTE ucCommStartFlag;
WORD wMessageID;
WORD wMessageAttribute;
BYTE ucMobileNumberBCD[6];
WORD wSequenceID;
WORD wPackagesNumber;
WORD wPackageIndex;
BYTE ucCRC
BYTE ucCommEndFlag;
}RegisterTerminate_T;
sizeof(RegisterTerminate_T) 竟然等于20,而不是 19。
查看内存,发现 ucCommStartFlag 后面的一个字节未使用,应该属于字节对齐的问题:WORD 类型变量不能从奇数地址开始。





