关于如何在 C 语言中使用布尔(bool)类型
在 C 语言中,布尔类型不是 C 语言的内置数据类型,C 语言默认将 0 设为 false,将 1 设为 true。但从 C99 开始,添加了 _Bool 类型并引入标准库文件 stdbool.h,从而使得 bool 数据类型能直接应用到 C语言代码中。
stdbool.h实际上只有几行代码:
#ifndef _STDBOOL
#define _STDBOOL
#define __bool_true_false_are_defined 1
#ifndef __cplusplus
#define bool _Bool
#define false 0
#define true 1
#endif // __cplusplus
#endif // _STDBOOL
它的作用就是:
定义 __bool_true_false_are_defined 为 1
将 bool 定义为 C99 内置类型 _Bool
将 true 和 false 分别定义为 1 和 0
对于 _Bool 类型,可以对其任意赋值,任何对其非 0 的赋值在调用此变量时都会返回 1
以下为使用 stdbool.h 的代码示例:
#include
#include
int main()
{
printf("true = %d\n", true);
printf("false = %d\n", false);
bool a = 0;
bool b = 'b';
bool c = "Hello world";
printf("bool a = %d\n", a);
printf("bool b = %d\n", b);
printf("bool c = %d\n", c);
return 0;
}
运行结果:
true = 1
false = 0
bool a = 0
bool b = 1
bool c = 1kalilearner kalilearner
yyl***icial@hotmail.com
10个月前 (10-21)