C语言的C99标准将_Bool
数据类型定义为另一种数据类型的宏(因为该语言无法处理类型安全的布尔值)。
_Bool
是unsigned char
、unsigned int
或其他某种数据类型的宏吗?
_Bool
是C标准中的一个独立整数类型。 _Bool
是C语言的关键字。
2. 声明为 _Bool 类型的对象足够大,可以存储值 0 和 1。
_Bool
是无符号整数类型。
_Bool 类型和与标准有符号整数类型相对应的无符号整数类型是标准无符号整数类型。
还应该提到:
— _Bool 的等级应低于所有其他标准整数类型的等级。
_Bool
类型是在标准C99中出现的新类型。_Bool
的值范围包含在任何其他无符号整数类型的值范围内。_Bool
被用来代替bool
,因为标准理由认为在1999年之前的现有实践中存在多种不同的bool
标识符的用法(作为宏或typedef)。<stdbool.h>
将宏bool
定义为正好意味着_Bool
。true
和false
分别定义为1和0。bool
,但程序员可以选择使用或不使用标准类型_Bool
或定义自己的bool
。C99定义了一种新类型_Bool
。
它还定义了一个名为stdbool.h
的新头文件,其中包含以下行:
#define bool _Bool
_Bool
是 C99 中的一种新类型。它是类型安全的(就 C 语言而言,可以称之为“类型安全”),不是另一种数据类型的“扩展”(无论那意味着什么)。 - M.Mstdbool.h
中,其中bool
被定义为一个将展开为_Bool
的宏。 - oogabool
。 - pablo1977