我们可以选择为变量保留多少位?

标签 c variables bit

C语言是否允许我们选择为变量保留多少位?例如,如果我们创建将用作 bool (1=true, 0=false) 的整数变量,我们只需要一位。我怎么能只保留一位呢?是否可以?

最佳答案

只有当该变量包含在 struct 中时才有可能。请记住,在这种情况下将进行必要的填充。

例如:

struct Bitfield{
    int Bool : 1;
} bit

bit 结构将需要 4 字节(假设 int 的宽度为 4 字节)但只有一个位将用于存储值.

您最多可以声明 32 个变量,每个变量的宽度为 1,结构 bit 的大小为 4 个字节。

推荐阅读:How is the size of a struct with Bit Fields determined/measured? .

关于我们可以选择为变量保留多少位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33380238/

相关文章:

c - 调用 yylex() 后全局指针设置为 NULL

包含美元分隔变量的 Java 属性

linux - 将命令保存到变量中而不是运行它

c - R 中位操作的 31 位限制

c - 在不使用 getpass (3) 的情况下在 C 中获取密码?

C: 使用 strcpy 将一个 struct 元素传输到数组

c - 如何将数字更改为 C 中的变量?

javascript - 将字符串与变量和转义字符连接起来

c - 如何在 C 中将 2 个字节转换为有符号短整型

mysql - 如何在 mysql 中更新 BIT 数据类型的字段