C中_Bool和bool类型的区别?

时间:2012-01-04 09:08:58

标签: c

有谁能解释一下C中_Bool和bool数据类型有什么区别? 例如

 _Bool x = 1;
  bool y = true;

  printf("%d", x);
  printf("%d", y);

2 个答案:

答案 0 :(得分:112)

这些数据类型已在C99中添加。由于{C}之前未保留bool,因此它们使用_Bool关键字(已保留)。

如果您添加bool,则

_Boolstdbool.h的别名。基本上,包括stdbool.h标头表示您的代码没有标识符bool被“保留”,即您的代码不会将其用于其自身目的(类似于标识符{ {1}}和true)。

答案 1 :(得分:15)

没有区别。

bool是一个在_Bool中扩展为stdbool.h的宏。

true是一个在stdbool.h

中扩展为1的宏