在C中使用布尔值

C没有任何内置布尔类型。 在C中使用它们的最佳方法是什么? spa


#1楼

在布尔运算中,任何非零值都会被计算为true,因此你能够这样作 code

#define TRUE 1
#define FALSE 0

并使用常量。 get


#2楼

C中的布尔值是一个整数:零表示假,非零表示真。 io

另请参见布尔数据类型C,C ++,Objective-C,AWK容器


#3楼

从最好到更糟: 数据类型

选项1(C99) bug

#include <stdbool.h>

选项2 方法

typedef enum { false, true } bool;

选项3 数据

typedef int bool;
enum { false, true };

选项4 db

typedef int bool;
#define true 1
#define false 0

说明

  • 选项1仅在您使用C99时才有效,而且它是执行此操做的“标准方式”。 若是可能请选择此项。
  • 选项2,3和4在实践中将具备相同的相同行为。 #2和#3不使用#defines,在我看来更好。

若是你还未决定,请选择#1!


#4楼

您能够使用char或其余小数字容器。

伪代码

#define TRUE  1
#define FALSE 0

char bValue = TRUE;

#5楼

就是这个:

#define TRUE 1
#define FALSE 0
相关文章
相关标签/搜索