谁能解释一下C中_Boolbool数据类型的区别吗?

例如:

 _Bool x = 1;
  bool y = true;

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

推荐答案

这些数据类型被添加到C99中.因为bool在C99之前没有被保留,所以他们使用_Bool关键字(这是保留的).

如果包括stdbool.h,则bool_Bool的别名.基本上,包含stdbool.h头表示您的代码在标识符bool被"保留"的情况下是正常的,也就是说,您的代码不会将其用于自己的目的(标识符truefalse也是如此).

C++相关问答推荐

如何将匿名VLA分配给指针?

如何避免使用相对路径包含在c中

理解没有返回语句的递归C函数的行为

由Go调用E.C.引起的内存快速增长

以前版本的tty_ldisc_ops.ioctl()是否也需要文件参数?

为什么C语言允许你使用var =(struct NAME){

是否所有C编译器在将浮点数转换为整型数时都会隐式删除小数?

限制不同类型的限定符

错误Cygwin_Except::Open_stackdupfile:正在转储堆栈跟踪是什么?

是否需要包括<;errno.h>;才能使用perror?

无法访问共享目标文件内的共享指针

C语言中的外部关键字

如何在不使用字符串的情况下在c中编写函数atof().h>;

不确定如何处理此编译错误

静态初始化顺序失败是否适用于C语言?

为什么二进制文件的大小不会随着静态数据的大小而增加?

表达式x&;&;(~x)应该返回1还是0?它依赖于编译器吗?

传递给函数的 struct 中的数组

从文件到链表读取日期

当 a 是代码块时使用逗号运算符 (a, b)