【发布时间】:2014-07-07 03:57:47
【问题描述】:
C 编程语言的 C99 标准将 _Bool 数据类型定义为另一种数据类型的宏(因为该语言无法处理类型安全的布尔值)。
_Bool 是 unsigned char、unsigned int 或其他数据类型的宏吗?
【问题讨论】:
-
_Bool是 C99 中的一个新类型。它是类型安全的(也就是说,C 可以称为“类型安全”),而不是“另一种数据类型的扩展”(不管这意味着什么) -
-1:C99 没有将 _Bool 定义为另一种数据类型的“扩展”(????)。
-
我以为是宏。
-
不,它不是宏。这是一个关键字。参见 C99 标准 6.7.2。您正在考虑标题
stdbool.h,其中bool被定义为扩展为_Bool的宏。 -
又错了:_Bool 不是宏。关联的宏是
bool。`