Brug af boolske værdier i C

C har ingen indbyggede boolske typer. Hvad er den bedste måde at bruge dem på i C?

Løsning

Fra bedst til værst:

Mulighed 1 (C99)

#include 

Mulighed 2

typedef enum { false, true } bool;

Option 3

typedef int bool;
enum { false, true };

Option 4

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

forklaring

  • Mulighed 1 virker kun, hvis du bruger C99, og det er den "standard måde" at gøre det på. Vælg denne, hvis det er muligt.
  • Mulighed 2, 3 og 4 vil i praksis have den samme identiske opførsel. #2 og #3 bruger dog ikke #defines, hvilket efter min mening er bedre.

Hvis du er uafklaret, så vælg #1!

Kommentarer (0)

En boolean i C er et heltal: nul for falsk og ikke-nul for sandt.

Se også Boolsk datatype, afsnittet C, C++, Objective-C, AWK.

Kommentarer (1)

Alt, der ikke er nul, evalueres til sandt i boolske operationer, så du kan bare

#define TRUE 1
#define FALSE 0

og bruge konstanterne.

Kommentarer (4)