文章目录
- 1,以前,C语言没有布尔类型
- 2,后来,C语言假装有了布尔类型
- 3,再后来,C语言的非标布尔类型
1,以前,C语言没有布尔类型
其实,C 语言没有真正的布尔类型,在逻辑判断时用整数代替布尔:
- false,整数0表示假。
- true,非零值都是真。
int x = 1;if (x) {printf("x is true!\n");
}
上面示例中,变量x等于1,C 语言就认为这个值代表真,从而会执行判断体内部的代码。
2,后来,C语言假装有了布尔类型
C99 标准添加了类型_Bool,表示布尔类型。
但是,这个类型其实只是整数类型的别名,还是使用0表示伪,1表示真,下面是一个示例。
_Bool isNormal;isNormal = 1;
if (isNormal)printf("Everything is OK.\n");
3,再后来,C语言的非标布尔类型
头文件stdbool.h定义了另一个类型别名bool,并且定义了true代表1、false代表0。
只要加载这个头文件,就可以使用这几个关键字。
#include <stdbool.h>bool flag = false;
上面示例中,加载头文件stdbool.h以后,就可以使用bool定义布尔值类型,以及false和true表示真伪。