C没有任何内置布尔类型。在C语言中使用它们的最佳方式是什么?
当前回答
typedef enum {
false = 0,
true
} t_bool;
其他回答
您可以简单地使用#define指令,如下所示:
#define TRUE 1
#define FALSE 0
#define NOT(arg) (arg == TRUE)? FALSE : TRUE
typedef int bool;
使用方法如下:
bool isVisible = FALSE;
bool isWorking = TRUE;
isVisible = NOT(isVisible);
等等
这是我使用的:
enum {false, true};
typedef _Bool bool;
_Bool是C语言中的内置类型,用于布尔值。
在布尔运算中,任何非零的值都被计算为真,因此您可以
#define TRUE 1
#define FALSE 0
并使用常数。
C有一个布尔类型:bool(至少在过去10(!)年)
包括stdbool.h和true/false将按预期工作。
C中的布尔值是一个整数:假为零,真为非零。
另请参见布尔数据类型,C节,C++,Objective-C,AWK。