Datentypen

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.

int num = 3147483647;

Falscher Datentyp

Wenn ein falscher Wert einem falschen Variablentyp zugewiesen wird, wird der Wert in den Typ der Variablen umgewandelt.

int character = 'a';
short boolean = true;


Floats und Integer

Wenn ein Float-Wert einer Integer-Variable zugewiesen wird, werden die Zahlen nach den Kommas ganz einfach abgeschnitten.

int num = 12.6;

Float und Double

Sowohl float, als auch double werden standardmässig mit 6 Dezimalstellen gedruckt.

float floatNum = 12.6;
double doubleNum = 12.6;


Wenn man jedoch die Anzahl der Dezimalstellen ändern möchte, kann man %.nf verwenden, wobei n die Anzahl der Dezimalstellen ist.


Zeichen

Der Datentyp char hat noch eine weitere wichtige Funktion, nämlich das Speichern von Zeichen und Zeichenketten.

char num = 23;
char character = 'a';
char string[] = 'Hallo';

Wenn wir ein Zeichen oder eine Zeichenkette in die Konsole printen wollen, dann benutzt man das Formatzeichen %c oder %s:


Wenn wir aber die Nummer von einem char drucken wollen, dann benutzt man %d.

Würde man bei einem Zeichen %d benutzen, würde die entsprechende Zahl auf der ASCII-Tabelle ausgegeben werden.

Man kann auch eine Nummer als Eingabe übergeben und erhält das dazu passende ASCII-Zeichen zurück.

char num = 98;

Strings

Man kann direkt mitgeben, wie viel Speicherplatz C für einen String benutzen soll.

Wenn man char im Nachhinein initialisieren möchte, braucht man eine weitere Bibliothek, <string.h>.

#include <stdio.h>
#include <string.h>

int main() {
    char word[100];
    strcpy(word, "Hello");

    printf("%s", word);
}

Booleans

Es gibt noch den Datentyp bool, welcher anzeigen kann, ob eine Aussage true oder false ist. Man muss diesen Datentyp über eine externe Bibliothek hinzufügen.

#include <stdbool.h>

Jetzt kann man mit dem Keyword bool eine Variable deklarieren.

bool isProgrammingFun = true;
bool isVegetableTasty = false;

Diese Variablen kann man mit dem Formatzeichen %d ausgeben.


Zuletzt aktualisiert

War das hilfreich?