在LPC2134.h头文件中经常会看到这种定义:
/* PLL feed register */ typedef struct{ __REG32 FEED : 8; __REG32 :24; } __pllfeed_bits;
我当时不甚理解,一直不理解为啥FEED后面跟了冒号和8.后来想起了C语言中位域,检索了一下才明白。
下面解释一下位域:
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”