4.6. Speicherbedarf von Daten: Der sizeof-Operator

Wie schon in Kapitel 3 angesprochen, dient der sizeof-Operator zur Ermittlung des Speicherbedarfs von Datentypen; er liefert die Anzahl der benötigten Byte als Ergebnis. Das Ergebnis einer sizeof-Operation wird schon zur Übersetzungszeit vom Compiler festgeschrieben. Dieser Operator ist bei der Erstellung von portablem Code von Bedeutung. Anstatt von einer bestimmten Größe irgendwelcher Datentypen auszugehen, kann mit Hilfe von sizeof der Speicherbedarf einzelner Datenobjekte unabhängig von der Rechnerplattform berücksichtigt werden.

Regelmäßig findet sizeof bei der dynamischen Zuweisung von Speicher Verwendung. Anstatt bei der Anforderung von Arbeitsspeicher die Größe von Datenobjekten selbst zu errechnen, kann sich der Programierer diese Arbeit vom sizeof-Operator abnehmen lassen. Der Operand des sizeof-Operators muß nur dann in Klammern gesetzt werden, wenn es sich dabei um einen Bezeichner für einen Datentyp handelt (wie z.B. unsigned int oder float). Es schadet aber nicht, prinzipiell alle Operanden in Klammern zu setzen.


.
.
uIntSize = sizeof( int );
/* uIntSize wird die Größe (in Byte) des Datentyps 
 * int zugewiesen */
.
.