int变量:3;

Ash*_*egi 0 c struct

在CI中看到了这段代码:

struct stud{
int b:3;
};
Run Code Online (Sandbox Code Playgroud)

这是在gcc编译.变量b3代表什么?另外,请解释一下使用方法:.

还有这样的迹象吗?

Bo *_*son 5

这意味着b使用int的3位.术语是"位域".

通常,这与使用相同或其他整数的其他位的其他变量组合.

我们的想法是要么更难以打包值以节省空间,要么更常见以匹配来自某些硬件设备的数据.

  • 它几乎取决于实现,但如果你有两个3位字段,它们应该共享一个字节. (2认同)