char | -128 bis 127 | 1 Byte | %c, %d oder %s |
|---|---|---|---|
unsigned char | 0 bis 255 | 1 Byte | %c, %d oder %s |
short int (short) | -32’768 bis 32’767 | 2 Byte | %hd |
unsigned short int (unsigned short) | 0 bis 65’535 | 2 Byte | %hu |
int | -2’147’483’648 bis 2’147’483’647 | 4 Byte | %d |
unsigned int | 0 bis 4,294,967,295 | 4 Byte | %u |
long int (long) | -2’147’483’648 bis 2’147’483’647 | 4 Byte | %ld |
unsigned long int (unsigned long) | 0 bis 4,294,967,295 | 4 Byte | %lu |
long long int (long long) | -9’223’372’036’854’755’808 bis 9’223’372’036’854’755’807 | 8 Byte | %lld |
unsigned long long int (unsigned long long) | 0 bis 18,446,744,073,709,551,615 | 8 Byte | %llu |
float | 1.2E-38 bis 3.4E+38 (6 Kommastellen) | 4 Byte | %f |
double | 2.3E-308 bis 1.7E+308 (15 Kommastellen) | 8 Byte | %lf |
long double | 3.4E-4932 bis 1.1E+4932 (19 Kommastellen) | 16 Byte | %Lf |
bool | 0 bis 1 | 1 Byte | %d |
Spezielle Verhaltensweisen
Overflow
Wenn der Wert einer Variablen grösser als ihr Typbereich ist, läuft sie über, d. h. der Wert wird auf den Mindestwert des Typs zurückgesetzt und von dort aus weiter erhöht. Das Gleiche gilt für den umgekehrten Fall.Falscher Datentyp
Wenn ein falscher Wert einem falschen Variablentyp zugewiesen wird, wird der Wert in den Typ der Variablen umgewandelt.Floats und Integer
Wenn ein Float-Wert einer Integer-Variable zugewiesen wird, werden die Zahlen nach den Kommas ganz einfach abgeschnitten.Float und Double
Sowohlfloat, als auch double werden standardmässig mit 6 Dezimalstellen gedruckt.
%.nf verwenden, wobei n die Anzahl der Dezimalstellen ist.
Zeichen
Der Datentypchar hat noch eine weitere wichtige Funktion, nämlich das Speichern von Zeichen und Zeichenketten.
char drucken wollen, dann benutzt man %d.
%d benutzen, würde die entsprechende Zahl auf der ASCII-Tabelle ausgegeben werden.
Strings
Man kann direkt mitgeben, wie viel Speicherplatz C für einen String benutzen soll.<string.h>.
Booleans
Es gibt noch den Datentypbool, welcher anzeigen kann, ob eine Aussage true oder false ist. Man muss diesen Datentyp über eine externe Bibliothek hinzufügen.
bool eine Variable deklarieren.
%d ausgeben.