Datentypen in "C", Teil 1

Elementare Datentypen

In C gibt es nur wenige elementare Datentypen:

char

Der Datentyp char kann ein einzelnes Zeichen aus dem Zeichensatz der Maschine aufnehmen.

Achtung!         Das ist nicht zwangsläufig eine 8-Bit breite Darstellung. Auf dem PC ist dies jedoch der Fall.

int

Der Datentyp int stellt einen ganzzahligen Wert dar, üblicherweise in der für die Maschine "natürlichen" Grösse. Dem Datentypen int können zusätzliche Varianten vorangestellt werden:

short int

oder

long int

Damit werden verschieden lange ganzzahlige Werte zur Verfügung gestellt. Das Wort int kann in diesen Vereinbarungen auch ausgelassen werden.
short wird auf einem handelsüblichen PC mit 16 Bit dargestellt und long mit 32 Bit.

Jedem Integer-Typen kann zusätzlich das Attribut signed oder unsigned vorangestellt werden, um vorzeichenbehaftetete bzw. vorzeichenlose Werte zu definieren.

unsigned char

bezeichnet einen ganzzahligen, positiven (!) Wert, dessen Wertebereich von 0 bis zur grössten darstellbaren Zahl reicht.
Die grösste darstellbare Zahl lässt sich einfach mit folgender Formel berechnen:

unsigned: (2 Anzahl Bit) - 1 (z.B. 2 16 - 1 = 65535)

signed: 2 (Anzahl Bit - 1) - 1 (z.B. 2 16-1 - 1 = 32767)

float

Der Datentyp float stellt einen einfach genauen Gleitpunktwert dar.
Dieser Datentyp sollte wenn möglich vermieden werden. Verwenden Sie lieber double, da praktisch alle mathematischen Bibliotheksfunktionen ebenfalls mit double arbeiten.

double

Der Datentyp double stellt einen doppelt genauen Gleitpunktwert dar. Es kann zusätzlich das Attribut long vorangestellt werden.

long double

bezeichnet einen Gleitpunktwert mit besonders hoher Genauigkeit (extended precision).

Wie bereits gesagt arbeiten fast alle Bibliotheken mit mathematischen Funktionen mit dem Datentyp double.

Zusammenfassung der elementaren Datentypen mit deren Varianten:

boolean ?!?

Man beachte, dass es in "C" keinen Datentypen boolean, für logische Werte, gibt.
Trotzdem kann natürlich mit Boolschen Werten gearbeitet werden.

Alle logischen Ausdrücke in "C" geben als Resultat einen int-Wert zurück.
Gemäss Definition bedeutet dabei der Wert 0 False bzw Unwahr oder wie immer ihr dem sagen wollt.
Jeder Wert ungleich 0 bedeutet True bzw. Wahr oder sonst was.

Falls euer Compiler dies noch nicht selber definiert hat könnt ihr ganz einfach folgende Definitionen in euer Programm übernehmen:

#define TRUE 1
#define FALSE 0