一个关于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;
有等于号不是更加方便吗?
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++里面位域的概念就明白
位域,你去看看C++里面位域的概念就明白
作者: pirloofmilan 发布时间: 2011-06-16
c 位域
作者: dizuo 发布时间: 2011-06-16
定义变量类型,怎么会是赋值呢?!
作者: yaxiya 发布时间: 2011-06-16
这是位域
这样写之后
整个struct大小为sizeof(unsigned int)
里面两个元素各占1位 即只能赋值0~1
这样写之后
整个struct大小为sizeof(unsigned int)
里面两个元素各占1位 即只能赋值0~1
作者: q191201771 发布时间: 2011-06-16
好好看看基础方面的书
作者: vcf_reader 发布时间: 2011-06-16