Kapitel 7 Elementare Datentypen
In diesem Kapitel erfahren Sie alles zu den einzelnen Datentypen in C, ohne die sich wohl kaum ein Programm realisieren lassen würde.
Zu den Grundlagen der C-Programmierung gehört auch die Kenntnis der einzelnen Datentypen. Datentypen sind, wie der Name schon vermuten lässt, Arten von Variablen, in denen Sie Daten speichern können, um zu einem späteren Zeitpunkt wieder darauf zurückzugreifen. Diese Variablen bestehen aus zwei Teilen: dem Datentyp, der eine bestimmte Menge Arbeitsspeicher zugewiesen bekommt, und dem Namen der Variablen, mit dem dieser Datentyp im Programm angesprochen werden kann.
7.1 Der Datentyp int (Integer)
 
Der Datentyp int muss, gemäß ANSI C, mindestens eine Größe von zwei Byte aufweisen. Mit diesen zwei Bytes lässt sich ein Zahlenraum von –32768 bis +32767 beschreiben. Mit dem Datentyp int lassen sich nur Ganzzahlen darstellen. Die Abkürzung int steht für Integer.
Hier kommen Sie auch gleich in Berührung mit betriebssystemspezifischen Eigenheiten. Auf 16-Bit-Systemen mag das eben Gesagte zutreffen. Dort ist ein Integer (int) auch wirklich zwei Bytes groß. Manch einer wird aber sagen: 16-Bit-Systeme sind doch schon bald Schnee von gestern und sind eigentlich nur noch für MS-DOS und Windows 3.1 Compiler relevant. Es sollte aber bedacht werden, dass es noch andere Programmierplattformen neben Linux und MS-Windows gibt (besonders sind hier die Embedded Systems und Microcontroller hervorzuheben)!
Linux, Windows (ab Windows 95) und Macintosh sind alles schon Betriebssysteme auf 32-Bit-Basis. 32 Bit entsprechen vier Byte. Somit erstreckt sich der Zahlenraum auf 32-Bit-Systemen von –2147483648 bis +2147483647.
Ein int hat somit laut Standard die natürliche Größe, die von der »Ausführ-Umgebung« vorgeschlagen wird. Das wären dann z.B. auf einer PDP10-Maschine 36 Bit, auf einem Pentium 4 32Bit und auf einem beliebigen 64Bit Prozessor-System eben 64Bit.
Hierzu ein kurzer Überblick über den Datentyp int und seinen möglichen Wertebereich auf den verschiedenen Systemen:
Tabelle 7.1
Datentyp int auf verschiedenen Plattformen
System
|
Name
|
Größe
|
Wertebereich
|
Formatzeichen
|
ANSI C
|
int
|
2 Byte
|
–32768
+32767
|
%d oder %i
|
IBM PC MS-DOS und Win3.1
|
int
|
2 Byte
|
–32768
+32767
|
%d oder %i
|
Macintosh Metrowerks CW
|
int
|
4 Byte
|
–2147483648
+2147483647
|
%d oder %i
|
Win98/2000/NT/XP
|
int
|
4 Byte
|
–2147483648
+2147483647
|
%d oder %i
|
Linux
|
int
|
4 Byte
|
–2147483648
+2147483647
|
%d oder %i
|
Wenn Sie sichergehen wollen, welchen Wertebereich der Datentyp int auf einem System hat, so kann dies mit folgendem Listing herausgefunden werden:
/* sizeof_int.c */
#include <stdio.h>
#include <limits.h> /* INT_MIN und INT_MAX */
int main(void) {
printf("int Größe : %d Byte\n",sizeof(int));
printf("Wertebereich von %d bis %d\n",INT_MIN,INT_MAX);
return 0;
}
Die Konstanten INT_MIN und INT_MAX sind in der Headerdatei <limits.h> mit den Werten deklariert, die der Datentyp int auf Ihrem System besitzt.
|