变量名称后面的冒号在C语言中, 这叫 “位段”; C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或称“位域”( bit field) 。利用位段能够用较少的位数存储数据。 程序例子如下: typedef struct { uint8_t sm : 4; uint8_t lv : 4; } sec_mode_t; struct packed-data { uint8_t a:2; uint8_t b:6; uint8_t c:4; uint8_t d:4; int i; }data;