C语言中的布尔型变量
使用C++或JAVA等编程语言较多的人,可能随手就习惯定义一个flag,其数据类型为布尔型,然后用true和false来表示真与假的问题。这个是非常常用的。但是,在C语言中是不存在布尔型这种数据类型的,所以大家不要直接去定义bool或者boolean这种类型的变量,C语言不支持这种数据类型。不过,C语言中也是有逻辑“真”与“假”的,在C语言中非0即为真,0即为假。这个大家应该比较熟悉,但是在C语言中,大家可以自己在头文件中去定义一种类似于C++中的bool变量,下面给出一些方法。
// 方法1:宏定义
// 宏定义布尔类型
#define BOOL int
#define TRUE 1
#define FALSE 0
// 定义一个布尔变量
BOOL flag = FALSE;
// 方法2:枚举
enum BOOL {FALSE, TRUE};
BOOL flag = 0;
BOOL flag1 = 1;
上面两种方法可以实现类似于C++中的bool和JAVA中的boolean型数据类型,大家可以参考性地使用,不过一般情况下使用正常的逻辑“非0即为真,0即为假”就足够了。这里针对的是C89的情况进行讨论,如果大家有什么更好的方法希望可以留言。谢谢大家。