在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
相關文章
相關標籤/搜索