C语言【位段】

不同位置的bit组合到同一内存中连续的字节。(高位先填充)

struct pid_tag_small
{
 unsigned int inactive : 1;//为inactive分配1个bit        (高位先填充)
 unsigned int : 1;//填充1个位
 unsigned int refcount : 6;//为refcount分配6个bit
 //unsigned int : 0;//填充到下一个字边界
 unsigned int new_word : 1;//新的字,分配1个bit

 short pid_id;

 //struct pid_tag *link;
};
///abcccccc d
struct data
{
 unsigned int a : 1;//为inactive分配1个bit        (高位先填充)
 unsigned int b : 1;//填充1个位
 unsigned int c : 6;//为refcount分配6个bit
 //unsigned int  : 0;//填充到下一个字边界
 unsigned int d : 1;//新的字,分配1个bit

 short pid_id;

 //struct pid_tag *link;
};

你可能感兴趣的:(单片机,c语言)