我正在测试一些代码,并且我试图了解结构的作用。代码如下
typedef struct
{
uint8_t :5;
uint8_t Index:3;
} foo;
我搜索了一会儿,无法找到答案。什么:"运营商"做什么以及5和3的重要性是什么?
答案 0 :(得分:1)
那不是运营商。这是C的'位字段'语法。这里的第一个未命名变量是5位,后跟'Index',即3位。
请参阅Wikipedia
答案 1 :(得分:0)
它有点领域。冒号后面的数字是每个变量占用多少内存。有很多答案可以在SO上提供更多关于此的信息 -
答案 2 :(得分:0)
C结构中的代码片段uint8_t:5这是什么意思?
未命名的位字段用于在相邻的位字段成员之间提供填充。这里在3位Index
位字段之前有一个5位填充。