C编程语言的C99标准将_Bool数据类型定义为另一种数据类型的宏(因为该语言无法处理类型安全的布尔值)。_Bool是unsigned char、unsigned int或其他数据类型的宏吗?
_Bool
unsigned char
unsigned int
ztyzrc3y1#
_Bool是一个独立的整数类型,符合C标准。_Bool是C语言的一个关键字。2.声明为_Bool类型的对象足够大,可以存储值0和1。_Bool是无符号整数类型。type _Bool和对应于标准有符号整数类型的无符号整数类型是标准无符号整数类型。还有一点需要说明
2vuwiymt2#
_Bool类型是标准C99中出现的新类型。它是一个无符号整数类型。它的取值范围必须能够保持0和1的值。_Bool的取值范围包含在任何其他无符号整数类型的取值范围中。使用关键字_Bool而不是bool,因为标准的基本原理假设在现有实践中(1999年之前)存在标识符bool的几种不同用途(作为宏或typedef)。标准标头<stdbool.h>将宏bool定义为精确的_Bool。此外,(宏)常数true和false分别被定义为1和0。虽然意图是使用单词bool,但程序员可以选择使用或不使用标准类型_Bool,也可以给予自己对bool的定义。
bool
<stdbool.h>
true
false
wnrlj8wa3#
C99定义了一个新的类型_Bool。它还定义了一个新的头文件stdbool.h,其中包含以下行:
stdbool.h
#define bool _Bool
3条答案
按热度按时间ztyzrc3y1#
_Bool
是一个独立的整数类型,符合C标准。_Bool
是C语言的一个关键字。2.声明为_Bool类型的对象足够大,可以存储值0和1。
_Bool
是无符号整数类型。type _Bool和对应于标准有符号整数类型的无符号整数类型是标准无符号整数类型。
还有一点需要说明
2vuwiymt2#
_Bool
类型是标准C99中出现的新类型。它是一个无符号整数类型。
它的取值范围必须能够保持0和1的值。
_Bool
的取值范围包含在任何其他无符号整数类型的取值范围中。使用关键字
_Bool
而不是bool
,因为标准的基本原理假设在现有实践中(1999年之前)存在标识符bool
的几种不同用途(作为宏或typedef)。标准标头
<stdbool.h>
将宏bool
定义为精确的_Bool
。此外,(宏)常数
true
和false
分别被定义为1和0。虽然意图是使用单词
bool
,但程序员可以选择使用或不使用标准类型_Bool
,也可以给予自己对bool
的定义。wnrlj8wa3#
C99定义了一个新的类型
_Bool
。它还定义了一个新的头文件
stdbool.h
,其中包含以下行: