WinCE 下最简单的字节对齐问题

来源:互联网 发布:linux crontab每月 编辑:程序博客网 时间:2024/04/28 10:06

今天在使用结构体时发现结构用 sizeof 求出现的大小 与 实际的大小不一致。

例如:以下结构

typedef struct{BYTE ucCommStartFlag;WORD wMessageID;WORD wMessageAttribute;BYTE ucMobileNumberBCD[6];WORD wSequenceID;WORD wPackagesNumber;WORD wPackageIndex;BYTE ucCRCBYTE ucCommEndFlag;}RegisterTerminate_T;

sizeof(RegisterTerminate_T) 竟然等于20,而不是 19。
查看内存,发现 ucCommStartFlag 后面的一个字节未使用,应该属于字节对齐的问题:WORD 类型变量不能从奇数地址开始。

原创粉丝点击