bool-Typ

Der Typ bool speichert einen Wahrheitswert (true, false). Dieser Typ ist jedoch erst in C++ verfügbar. Sowohl in C++ als auch in C können jedoch auch Integer-Werte, Fliesskommawerte sowie Pointer als boolsche Werte verwendet werden: Ein Wert, der 0 representiert, wird als false aufgefasst, alle anderen Werte werden als true interpretiert.




Hello World!
Hello World again!
#include <cstdio>

int main(){
  bool printmessage = true;
  if(printmessage){printf("Hello World!\n");};
  if(1234){printf("Hello World again!\n");};
  return 0;
}

Siehe auch true, false, Logik

Details

Boolsche Werte werden für logische Operatoren sowie die Auswertungen von Bedingugnen verwendet. Sie folgen den Regeln der binären Logik.

Es ist zu beachten, dass sowohl in anderen Programmiersprachen als auch umgangssprachlich die Bezeichnung boolean geläufig ist, in C++ existiert jedoch nur das Keyword bool.

Auch wenn der Werteumfang des bool-Typs in einem Bit gespeichert werden könnte, benötigt er normalerweise mindestens 1 Byte. Der Wert false wird mit dem Wert 0 codiert und der Wert true mit einem Wert ungleich 0, normalerweise mit 1.

Es ist zu beachten, dass bei der Interpretation von Fliesskommatypen als boolsche Werte keine arithmetische Umwandlung stattfindet, womit auch Werte wie 0.1 als nicht-Null interpretiert werden. Ein jeglicher Wert, der nicht 0 representiert, wird als true interpretiert.



b is true



d is true



f is true
int a = 0;
int b = 12345;
if(a){printf("a is true\n");}
if(b){printf("b is true\n");}
float c = 0.0;
float d = 0.1;
if(c){printf("c is true\n");}
if(d){printf("d is true\n");}
int* e = NULL;
int* f = &a;
if(e){printf("e is true\n");}
if(f){printf("f is true\n");}