共用体和结构体位段的使用 (2015-02-03 09:37) [编辑] [删除]转载▼
标签: c语言
在一工程中用到了结构体位段,因结构体初始化不能一次性初始化。故想到了共同体,共用体顾名思义,元素共用一个内存。元素的值为最后写入值,任意时刻只能保存一个值。
用法:
在main.h中
typedef struct DATE
{
uint8_t bit0:4;
uint8_t bit1:4;
uint8_t bit2:4;
uint8_t bit3:4;
};
union Flag
{
uint16_t all;
struct DATE pct;
};
extern union Flag flag;
extern struct DATE date;
在main.c声明并使用
union Flag flag;
struct DATE date;
flag.pct.bit0=1;
flag.pct.bit1=5;