您的位置:首页 > 其它

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

2012-04-19 20:06 211 查看
今天在使用结构体时发现结构用 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 类型变量不能从奇数地址开始。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: