_Bool数据类型为C99

C编程语言的C99标准将_Bool数据类型定义为另一种数据类型的宏(因为该语言无法处理类型安全布尔值)。

_Boolunsigned charunsigned int或其他一些数据类型的宏吗?

_Bool是一个单独的integere类型,根据C标准。 _Bool是C语言的关键字

2声明为_Bool类型的对象足以存储值0和1。

_Bool是无符号整数类型。

_Bool类型和与标准有符号整数类型对应的无符号整数类型是标准无符号整数类型。

应该提到这一点

– _Bool的等级应小于所有其他标准整数类型的等级。

_Bool类型是标准C99中出现的新类型。
它是无符号整数类型。
它的值范围必须能够保持值0和1。
_Bool的值范围包含在任何其他无符号整数类型的值范围内。

使用关键字_Bool而不是bool因为标准的基本原理假设在现有的实践中(1999年之前)存在标识符bool几种不同用法(作为宏或作为typedef)。

标准头文件将宏bool定义为_Bool
此外,(宏)常量truefalse分别定义为1和0。

虽然意图是使用bool这个词,但程序员可以选择使用或不使用标准类型_Bool或者井来给出他自己的bool定义。

C99定义了一个新类型_Bool

它还定义了一个新的头文件stdbool.h ,其中包含以下行:

 #define bool _Bool