C没有任何内置布尔类型。在C语言中使用它们的最佳方式是什么?
当前回答
C中的布尔值是一个整数:假为零,真为非零。
另请参见布尔数据类型,C节,C++,Objective-C,AWK。
其他回答
typedef enum {
false = 0,
true
} t_bool;
如果您使用的是C99编译器,它内置了对布尔类型的支持:
#include <stdbool.h>
int main()
{
bool b = false;
b = true;
}
http://en.wikipedia.org/wiki/Boolean_data_type
如果使用C99,则可以使用_Bool类型。不需要#includes。不过,您确实需要将其视为整数,其中1为真,0为假。
然后可以定义TRUE和FALSE。
_Bool this_is_a_Boolean_var = 1;
//or using it with true and false
#define TRUE 1
#define FALSE 0
_Bool var = TRUE;
在布尔运算中,任何非零的值都被计算为真,因此您可以
#define TRUE 1
#define FALSE 0
并使用常数。
这就是:
#define TRUE 1
#define FALSE 0