有谁能解释一下C中_Bool和bool数据类型有什么区别? 例如
_Bool x = 1;
bool y = true;
printf("%d", x);
printf("%d", y);
答案 0 :(得分:112)
这些数据类型已在C99中添加。由于{C}之前未保留bool
,因此它们使用_Bool
关键字(已保留)。
bool
,则 _Bool
是stdbool.h
的别名。基本上,包括stdbool.h
标头表示您的代码没有标识符bool
被“保留”,即您的代码不会将其用于其自身目的(类似于标识符{ {1}}和true
)。
答案 1 :(得分:15)
没有区别。
bool
是一个在_Bool
中扩展为stdbool.h
的宏。
true
是一个在stdbool.h