2010-12-07 81 views
4

可能重复:
What does 'unsigned temp:3' means这个结构定义中的冒号是什么?

我不明白,这个结构的定义。这似乎违法给我,但显然它不是:

typedef struct 
{ 
    unsigned i:1; 
} my_struct; 

我认为,这标志着变量作为unsigned没有一个类型是一样的标记为unsigned int。但是,我完全被冒号困扰。它有什么作用?我的猜测是这是某种初始化工具,但我不知道它的意思。在我的头顶上,我期望C中只有一个冒号的地方在三元运算符中,这显然不是。所以,这似乎是一个我不熟悉的构造。任何人都可以解释在这个结构定义中冒号的目的是什么?声明unsigned i:1;是什么意思?

回答

8

它将i定义为1位宽度。 如果i:x给出,那么它定义我为x位宽。

相关问题