任何人都可以解释我在_Bool和Bool数据类型之间有什么区别吗? 例如C中_Bool和bool类型的区别?
_Bool x = 1;
bool y = true;
printf("%d", x);
printf("%d", y);
任何人都可以解释我在_Bool和Bool数据类型之间有什么区别吗? 例如C中_Bool和bool类型的区别?
_Bool x = 1;
bool y = true;
printf("%d", x);
printf("%d", y);
在C99中加入这些数据类型的宏。由于bool
在C99之前未被保留,因此它们使用_Bool
关键字(保留)。
bool
如果包含stdbool.h
,则为_Bool
的别名。基本上,包括stdbool.h
标题表示您的代码是正确的,标识符bool
为'保留',即您的代码不会将其用于自己的目的(类似地,标识符为true
和false
)。
+1包括历史记录。 – Lindydancer 2012-01-04 09:21:08
长期的意图似乎是标准最终会被修改为使bool成为关键字。这是第1步,您可以使用
我不明白为什么这需要花二十年时间,因为这是一个非常明显的改进。不喜欢此更改的代码仍可使用当前编译器版本进行编译。 – 2013-08-31 16:45:34
没有区别。
bool
是在stdbool.h
中扩展为_Bool
的宏。
而true
为展开至1 stdbool.h
'bool'也必须是typedef,C没有那种类型。 – 2012-01-04 09:11:47
类似于_Complex vs complex。 – 2014-09-17 10:58:42