C语言使用固有(内置)类型_Bool

示例

C99

在C标准版本C99中添加的_Bool也是本机C数据类型。它能够保存0(false)和1(true)的值。

#include <stdio.h>

int main(void) {
    _Bool x = 1; 
    _Bool y = 0;
    if(x) /* Equivalent to if (x == 1) */
    {
        puts("这将打印!");
    }
    if (!y) /* Equivalent to if (y == 0) */
    {
        puts("这也将打印!");
    }
}

_Bool是整数类型,但对于从其他类型进行转换有特殊的规则。结果类似于在if表达式中使用其他类型。在下面的

_Bool z = X;
  • 如果X具有算术类型(是任何数字),则z成为0if X == 0。否则z成为1。

  • 如果X具有指针类型,则z成为0ifX为空指针,1否则为。

要使用更好的拼写bool,false并且true您需要使用<stdbool.h>。