【发布时间】:2014-03-30 05:19:11
【问题描述】:
我想在 C 中为布尔值 true/false 定义一个数据类型。有没有办法定义一个 1 位大小的数据类型来声明布尔值?
【问题讨论】:
-
你知道你不能寻址少于一个字节,所以无论你做什么它都会消耗比一个位更多的内存(除非你自己将它与其他 7 个位配对)。
-
如果我想定义一个 1 字节的数据类型,那么程序是什么?我不想使用 int 来表示布尔值。
-
你见过别人代码中定义的布尔类型吗?现有的解决方案有问题吗?
-
在现有解决方案中,布尔类型被定义为无符号字符。所以当我将此值放入条件运算符(if/else)时,它不起作用。
-
分配不到1个字节是不可能的。