大侠们看看结构体定义 看不太明白
typedef struct
{
unsigned char MessageFormatterOneSecondAlert:1;
unsigned char OneSecondAlertDisplayFormatter:1;
unsigned char ReadSeasureParIntervalTime:1;
unsigned char CalibrationJudgmentTime:1;
unsigned char bitflag_ComTimeout:1;
unsigned char bitflag_Receivefull:1;
unsigned char bitflag_RS485:1;
unsigned char bitflag_in_program:1;
unsigned char bitflag_write_ptime:1;
unsigned char bitflag_second:1;
unsigned char bitflag_halfsecond:1;
unsigned char bitflag_threesecond:1;
unsigned char bitflag_thirtymin:1;
unsigned char bitflag_even:1;
unsigned char bitflag_evencheck:1;
unsigned char bitflag_warncheck:1;
} MESSAGE_BOARD;
这里的所有元素后面:1啥意思比如定义 MESSAGE_BOARDa; 倒数第二个元素bitflag_evencheck是不是相当于a的第14位??? 本帖最后由 sevenchrist 于 2013-7-18 17:15 编辑
:1就是占用1位,你后面的理解是正确的,实际是不是要考虑大小端我记不太清楚了。
想要了解得更详细,可以去查一下“位域”。 C语言中的 位字段 存储方式… 结构体中的每个元素所占的位域都是1bit那我的这个定义总共16个bit在实际的物理地址中 是连续存储占用2bytes还是占用16个bytes 恩,2Byte应该 在字节中的位置跟大小端有关系
页:
[1]