什么是C99布尔数据类型以及如何使用它?
答案 0 :(得分:102)
包含<stdbool.h>
标题
#include <stdbool.h>
int main(void){
bool b = false;
}
宏true
和false
分别扩展为1
和0
。
部分7.16
布尔类型和值< stdbool.h >
- 1标题
<stdbool.h>
定义了四个宏。- 2宏
- BOOL 扩展为_Bool。
- 3其余三个宏适用于#if预处理指令。他们 是
- true:扩展为整数常量1,
- false:扩展为整数常量0和
- __ bool_true_false_are_defined 它扩展为整数常量1。
- 4尽管有7.1.3的规定,但程序可能不完整,也许可能 重新定义宏bool,true和false。
答案 1 :(得分:42)
请在DaniWeb上找到的相关主题上查看答案。
提取并引用此处以方便参考: -
_Bool :C99的布尔类型。如果您正在使用,则仅建议直接使用_Bool 维护已经存在的遗留代码 为bool,true或者定义宏 假。否则,那些宏是 在
<stdbool.h>
标准化 头。包括标题和你 可以像你一样使用bool C ++。
#include <stdio.h>
#include <stdbool.h>
int main ( void )
{
bool b = true;
if ( b )
printf ( "Yes\n" );
else
printf ( "No\n" );
return 0;
}