Programmieren in ANSI-C
Kapitel 2: Datentypen, Variablen und Konstanten


2.1 Unterschiedliche Datentypen

Von zentraler Bedeutung in jeder Programmiersprache sind Datentypen, das heißt, die Festlegung, von welcher Art ein Wert im Programm ist. Diese Information benötigt der Computer, um bestimmen zuu können, wieviel Platz ein solcher Wert (im Folgenden verwende ich für diese Werte den Begriff Variablen) im Speicher belegt. Man unterscheidet grob zwei Typen von Variablen, die ihrerseits in verschiedene Unterklassen unterteilt werden können: Ganzzahlige und Fließkommazahlen

2.1.1 Ganzzahlige Datentypen

Typ (Ganzzahl) Größe (Bit) Wertebereich
char 8 -128 bis 127
unsigned char 8 0 bis 255
int 16 -32768 bis 32767
unsigned int 16 0 bis 65535
short 16 -32768 bis 32767
unsigned short 16 0 bis 65535
long 32 -2147483648 bis 2147483647
unsigned long 32 0 bis 4294967295

Der Typ char dient zur speicherung von Buchstaben, Ziffern und Sonderzeichen. Da intern jedes Zeichen als Zahlencode (auch ASCII-Code genannt) gespeichert wird, wird der Typ char als Ganzzahltyp behandelt. Mit ihm lässt sich in C/C++ genauso rechnen wie mit allen anderen Zahlentypen ( z.B. 'B' + 1 = 'C' ).
Die Unterscheidung zwischen int und short ist deshalb notwendig, weil der Typ int nicht auf allen Computersystemen (z.B. Macintosh) 16 Bit groß ist. Im intel-kompatiblen Bereich entspricht der Typ int jedoch dem Typ short.

2.1.2 Fließkomma - Datentypen

Typ (Ganzzahl) Genauigkeit (Bit) Größe (Bit) Wertebereich
float 7 32 3.4*(10^-38) bis 3.4*(10^+38)
double 15 64 1.7*(10^-308) bis 1.7*(10^+308)
long double 17 80 3.4*(10^-4932) bis 1.1*(10^+4932)

Die Angabe der Genauigkeit ist deswegen notwendig, weil man wissen will, auf wieviele Stellen (Vor- und Nachkommateil) eine Zahl mindestens noch genau dargestellt wird.

2.1.3 Der Typ 'void'

An dieser Stelle möchte ich bereits den Datentyp void einführen. Wie wir später sehen werden, benötigt jede Funktion Rückgabewerte und Übergabeparameter. Der Typ void gibt an, das der Funktion kein Parameter übergeben wird bzw. die Funktion keinen Rückgabewert hat. Eine Funktion vom Typ void entspräche also einer Prozedur in anderen Programmiersprachen. Die Verwendung dieses Typs erkennt man in Kapitel 3 an Programmbeispielen deutlicher.

2.2 Deklaration von Variablen

Prinzipiell muss bei C/C++ jede Variable vor der ersten Verwendung deklariert sein. Dies gilt im Übrigen auch für Funktionen. Das heißt, sie müssen dem Compiler den Datentyp bekannt geben. Im Programmcode sieht das zum Beispiel so aus:

int   iZahl;    //Integer-Typ
float fZahl;    //Float-Typ
char  Zeichen;  //ASCII-Zeichen

short sZahl = 10; //Short-Variable, die zu beginn den Wert 10 hat

2.2.1 Variablennamen

Bei der Vergabe von Variablennamen sollte man auf die Aussagefähigkeit des Namens achten (zum Beispiel 'Zähler' statt 'z'). Je größer das Programm wird, desto wichtiger sind aussagekräftige Namen. Ich empfehle ebenfalls, bei größeren Projekten den Variablentyp als Präfix im Namen mit anzugeben (z.B. 'i_Zahl' oder 'iZahl' statt nur 'Zahl' für eine Integer-Variable). Dadurch lässt sich der Programmcode leichter nachvollziehen.

Folgende Regeln sind beim festlegen von Variablennamen (auch bei Konstantennamen!) unbedingt zu beachten:
  • Zulässig sind folgende Zeichen: A-Z, a-z, 0-9 und der Unterstrich '_'
  • Groß- und Kleinschreibung sind zu beachten ('zahl', 'ZAHL' und 'Zahl' sind drei verschiedene Variablen)
  • Schlüsselwörter von C/C++ (z.B. 'switch', 'float', 'char' ...) sind als Variablennamen nicht erlaubt, dürfen jedoch Bestandteil des Namens sein (z.B. 'float_PI', 'eine_char_variable').
  • Variablennamen dürfen nicht mit einer Ziffer beginnen

2.3 Deklaration von Konstanten

Für fixe Werte verwendet man in einem Programm nicht Variablen sondern Konstanten. Ihnen wird bei der Deklaration ein fester Wert zugewiesen, der sich während des Programmlaufes nicht mehr ändern kann.

const float PI = 3.14159265;
const int   WeltWunder = 7;



© Gerhard Zapf
Werkzeug
Sitemap
www.tutorialpage.de
Funktionen
Diese Seite wurde seit dem 12.07.01 genau 215 mal abgerufen.
Letzte Änderung: 11.09.2003