3.1. Elementare Datentypen
Der Datentyp Integer (int) spezifiziert Variablen oder Konstanten, die ganzzahlige Werte aufnehmen können. Diese können positiv, negativ oder null sein. Die Größe des belegten Speicherbereichs und damit des maximalen Wertebereichs ist bei diesem Datentyp nicht einheitlich. Der ANSI-Standard schreibt nämlich für jeden Datentyp nur den minimalen Wertebereich, nicht aber die Größe in Bits oder Byte vor. Unter 16-Bit-Systemen wie DOS belegt int für gewöhnlich 2 Byte, bei 32-Bit-Systemen sind hingegen 4 Byte üblich (z.B. unter Windows NT).
Der Typ character (char) umfaßt im allgemeinen 1 Byte und kann ein Zeichen aus dem Zeichensatz der Maschine aufnehmen. Dieser Datentyp kann auch ganzzahlige Werte repräsentieren, wobei der Wertebereich entsprechend eingeschränkt ist.
Variablen und Konstanten vom Typ float und double nehmen Fließkommazahlen auf. Die beiden Typen unterscheiden sich durch ihre Genauigkeit, wobei float Werte mit bis zu 7 Nachkommastellen akzeptiert und double 15 Nachkommastellen darstellen kann.
In Vorgriff auf die Abschnitte zu Operatoren und der formatierten Ein-/Ausgabe erstellen wir nun ein kleines C-Programm, das uns die Größe eines bestimmten Datentyps in Byte ausgibt:
/*******************************************************
* sizeof.c *
* informiert darüber, wieviele Byte unser Compiler *
* für den Datentyp integer vergibt *
*******************************************************/
#include <stdio.h>
int main(void){
printf("Der Typ integer belegt %d Byte\n", sizeof(int));
/* der sizeof-Operator bestimmt die Größe eines Datentyps
* oder einer Variablen; anstelle von int könnten wir
* natürlich auch float oder double einsetzen.
*/
return 0;
}
Wenn Sie Einzelheiten darüber erfahren wollen, wie die jeweiligen Datentypen genau spezifiert sind, dann können in den Header-Dateien limits.h und float.h nachsehen. Beide werden mit allen ANSI-C-Compilern ausgeliefert. Limits.h definiert Konstanten für den Wertumfang der ganzzahligen Typen, die Konstanten in float.h beziehen sich auf Fließkommatypen.