typedef union { UBYTE BYTE; struct{ UBYTE A:6; UBYTE B1:1; U

问题描述:

typedef union { UBYTE BYTE; struct{ UBYTE A:6; UBYTE B1:1; UBYTE B0:1; }BIT; }A;
1个回答 分类:综合 2014-12-06

问题解答:

我来补答
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来访问.
 
 
展开全文阅读
剩余:2000