一个关于C结构体的定义不懂,请教下。

在一个C程序中出现如下一个结构体的定义:

static struct {
unsigned int need_reload:1;
unsigned int need_quit:1;
} sig_flags;

请问这个定义方式是不是给sig_flags中的两个成员赋值啊?这个是我猜测的,
如果是赋值的话为什么不直接
static struct {
unsigned int need_reload=1;
unsigned int need_quit=1;
} sig_flags;
有等于号不是更加方便吗?

作者: Myhustfengli   发布时间: 2011-06-16

不是赋值
位域,你去看看C++里面位域的概念就明白

作者: pirloofmilan   发布时间: 2011-06-16

c 位域

作者: dizuo   发布时间: 2011-06-16

定义变量类型,怎么会是赋值呢?!

作者: yaxiya   发布时间: 2011-06-16

这是位域
这样写之后
整个struct大小为sizeof(unsigned int)
里面两个元素各占1位 即只能赋值0~1

作者: q191201771   发布时间: 2011-06-16

好好看看基础方面的书

作者: vcf_reader   发布时间: 2011-06-16