冒号在这个结构定义中做了什么?
可能重复:
‘unsigned temp:3’是什么意思
我不明白这个结构定义。 这对我来说似乎是违法的,但显然不是:
typedef struct { unsigned i:1; } my_struct;
我认为在没有类型的情况下将变量标记为unsigned
与将其标记为unsigned int
。 但是,我对结肠感到困惑。 它有什么作用? 我的猜测是它是某种初始化器,但我不知道它意味着什么。 在我的头顶,我唯一期望在C中冒号的地方是三元运算符,这显然不是。 所以,这似乎是一个我不熟悉的结构。 任何人都可以在这个结构定义中解释冒号的目的是什么吗? 声明unsigned i:1;
是什么unsigned i:1;
意思?
它将i定义为1位宽。 如果给出i:x,则它将i定义为x位宽。