C编程语言的C99标准将_Bool
数据类型定义为另一种数据类型的宏(因为该语言无法处理类型安全布尔值)。
_Bool
是unsigned char
,unsigned int
或其他一些数据类型的宏吗?
答案 0 :(得分:9)
_Bool
是一个单独的整数类型。 _Bool
是C语言的关键字。
2声明为_Bool类型的对象足以存储值 0和1。
_Bool
是无符号整数类型。
类型_Bool和对应的无符号整数类型 标准有符号整数类型是标准的无符号整数类型。
应该提到
- _Bool的等级应小于所有其他标准的等级 整数类型。
答案 1 :(得分:4)
_Bool
类型是标准C99中出现的新类型
它是无符号整数类型
它的值范围必须能够保持值0和1
_Bool
的值范围包含在任何其他无符号整数类型的值范围内。
使用关键字_Bool
代替bool
,因为标准的基本原理假设现有实践(1999年之前)存在标识符bool
的几种不同用法(作为宏或作为typedef)。
标准标题<stdbool.h>
将宏bool
定义为_Bool
的含义
此外,(宏)常量true
和false
分别定义为1和0。
虽然目的是使用单词bool
,但程序员可以选择使用或不使用标准类型_Bool
或者很好地给出他自己的bool
定义。
答案 2 :(得分:1)
C99定义了一种新类型_Bool
。
它还定义了一个新的头文件stdbool.h
,其中包含以下行:
#define bool _Bool