在这个链接上我遇到了
http://lxr.linux.no/#linux+v2.6.36/include/linux/pci.h#L299
整数声明
unsigned int is_added:1;
我已经制作了C程序并在其中声明了整数,但在上面我看到了使用
的:
这是什么语法?
答案 0 :(得分:9)
我认为您遇到过bit-field:)
答案 1 :(得分:3)
它是struct
的一部分,这意味着它表示该字段应该只使用一定数量的位而不是整个字节或更多。
答案 2 :(得分:3)
这是数组中的位字段声明。数字“:”表示分配给该结构的特定字段的位数。
虽然您需要注意位字段,因为它们的二进制表示不可移植。那就是你在使用不同编译器编译的接口之间传递二进制blob,它可能无效。
答案 3 :(得分:1)
这表示只使用其中一位。
答案 4 :(得分:0)
在struct
中,可以有一个整数变量占用1到31之间的任意位数。is_added
是一个一位变量。一位变量也称为标志。