码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2016-02-22 12:10:34      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:

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

例如:以下结构

 1 typedef struct  
 2 {  
 3     BYTE ucCommStartFlag;  
 4   
 5     WORD wMessageID;  
 6     WORD wMessageAttribute;  
 7     BYTE ucMobileNumberBCD[6];  
 8     WORD wSequenceID;  
 9     WORD wPackagesNumber;  
10     WORD wPackageIndex;  
11     BYTE ucCRC  
12   
13     BYTE ucCommEndFlag;  
14 }RegisterTerminate_T;  

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

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

标签:

原文地址:http://www.cnblogs.com/91program/p/5206400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!