typedef union { UBYTE BYTE; struct{ UBYTE A:6; UBYTE B1:1; UBYTE B0:1; }BIT; }A;

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 13:05:14
typedef union { UBYTE BYTE; struct{ UBYTE A:6; UBYTE B1:1; UBYTE B0:1; }BIT; }A;

typedef union { UBYTE BYTE; struct{ UBYTE A:6; UBYTE B1:1; UBYTE B0:1; }BIT; }A;
typedef union { UBYTE BYTE; struct{ UBYTE A:6; UBYTE B1:1; UBYTE B0:1; }BIT; }A;

typedef union { UBYTE BYTE; struct{ UBYTE A:6; UBYTE B1:1; UBYTE B0:1; }BIT; }A;
UBYTE是宏定义过的 数据类型,应该是usigned char 类型的;
所以BYTE是 UBYTE类型的 变量,占8位;
同理A B1、B0也是UBYTE类型的变量,但 由于位域的概念,A只占6位,B1占1位,B0占1位;这其实是一种程序优化方案;
这个定义的总体意思是:
A类型占8位:如果想全部访问,那么就用A.BYTE,来访问;
如果想局部访问,就用A.BIT.A;A.BIT.B1;A.BIT.B2来访问.