Verwenden Sie boolesche Werte in C
- Boolesche Werte in C
-
Verwenden Sie den Typ
bool
für boolesche Werte in C -
Verwenden Sie
enum
für boolesche Werte in C -
Verwenden Sie
typedef
und#define
für boolesche Werte in C
Das heutige Tutorial zeigt, wie man bool
, enum
, typedef
und #define
verwendet, um boolesche Werte in der Programmiersprache C zu verwenden.
Boolesche Werte in C
Der bool
(ein boolescher Datentyp) ist nativ in C99 und neuer verfügbar; Wir müssen die Bibliothek stdbool.h
einbinden, um diesen Datentyp zu verwenden. In C99 ist der native Datentyp als _Bool
bekannt.
Andererseits ist bool
ein Standardbibliotheksmakro, das in stdbool.h
definiert ist. Die Objekte vom Datentyp _Bool
enthalten entweder 1 oder 0, während true
und false
die Makros aus der Bibliothek stdbool.h
sind.
Dies impliziert, dass ein C-Präprozessor #if true
als #if 1
interpretiert, es sei denn, die stdbool.h
ist im C-Programm enthalten. In der Zwischenzeit muss der C++-Präprozessor true
nativ als Sprachliteral erkennen.
Verwenden Sie den Typ bool
für boolesche Werte in C
Beispielcode:
// library to use `bool`
#include <stdbool.h>
// library to use `printf()`
#include <stdio.h>
// main function
int main() {
bool variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Ausgang:
The value of 'variableX' is True
Wenn wir C99 oder neuer haben, können wir bool
verwenden, ein Alias für _Bool
. Wir müssen eine Bibliothek (auch als Header-Datei adressiert) namens stdbool.h
einbinden, um bool
zu verwenden; Andernfalls erhalten wir einen Fehler.
Sehen Sie sich das oben angegebene Programm als praktisches Beispiel für die Verwendung des Typs bool
an.
Verwenden Sie enum
für boolesche Werte in C
Beispielcode:
// library to use `printf()`
#include <stdio.h>
// enum's declaration
typedef enum { false, true } boolean;
// main function
int main() {
boolean variableX = false;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Ausgang:
The value of 'variableX' is False
Das oben angegebene Code-Snippet ist eine Lösung für diejenigen, die C89/90 verwenden oder nicht den nativen bool
-Typ verwenden möchten. Wir können die Funktion enum
verwenden, um den Typ bool
zu erstellen.
enum
(auch Enumeration genannt) ist ein benutzerdefinierter Datentyp in der C-Programmierung, der verwendet wird, um ganzzahligen Konstanten Namen zuzuweisen; Warum? Die Namen machen das Programm einfach zu lesen, zu verstehen und zu warten.
Wir verwenden die booleschen Werte, indem wir einen neuen Namen für den Typ bool
erstellen. Dafür verwenden wir das Schlüsselwort typedef
, das verwendet wird, um einem Typ einen neuen Namen zu geben (siehe den Beispielcode für diesen Abschnitt, in dem wir dem Typ bool
einen neuen Namen geben, nämlich boolean
).
Sobald wir den oben angegebenen Code ausführen, wird ein enum
als Typ bool
erstellt. Setzen Sie außerdem die Elemente von enum
als false
und true
ein.
Die erste und zweite Position werden mit false
für 0 und true
für 1 belegt.
Verwenden Sie typedef
und #define
für boolesche Werte in C
Als Alternative zum zweiten Ansatz, bei dem wir enum
für boolesche Werte verwenden, können wir die booleschen Werte auf die folgenden zwei Arten verwenden.
Beispielcode 1:
// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
// declare enum
enum { false, true };
// main function
int main() {
boolean variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Beispielcode 2:
// library to use `printf()`
#include <stdio.h>
// declare a variable of `int` type
typedef int boolean;
// define macros
#define true 1;
#define false 0;
// main function
int main() {
boolean variableX = true;
if (variableX) {
printf("The value of 'variableX' is True");
} else {
printf("The value of 'variableX' is False");
}
return 0;
}
Beide Codebeispiele erzeugen dasselbe Ergebnis wie unten angegeben.
Ausgang:
The value of 'variableX' is True
In Beispielcode 2 verwenden wir #define
(auch Makrodirektive genannt), eine Präprozessordirektive, die zum Definieren von Makros in einem C-Programm verwendet wird.