1.3.3 Der Operator sizeof
1.3.3 Der Operator sizeof
Wie in Abschnit 1.3 erklärt wurde, is der speicher der Variablen system abhängig. Um die Größe der Bytes auf dem aktuellen system zu erhalten benutzen wir den sizeof Operator. Das folgende Program is auf ein 32Bit Windows system geschriebn:
Programm 1.3
Programm 1.3
// Programm gibt die Größe der verschiedenen Variablen aus
#include <iostream> //Einbinden von bibiotheken
using namespace std; //Bewirkt das man std vor Befehlen weg lassen kann
//Hauptprogramm
int main ()
{
//Ausgabe der Variablen werte in Bytes
cout << "sizeof(bool) = " << sizeof(bool) << endl;
cout << "sizeof(char) = " << sizeof(char) << endl;
cout << "sizeof(short) = " << sizeof(short) << endl;
//Ausgabe der Variablen werte in Bytes
cout << "sizeof(bool) = " << sizeof(bool) << endl;
cout << "sizeof(char) = " << sizeof(char) << endl;
cout << "sizeof(short) = " << sizeof(short) << endl;
cout << "sizeof(int) = " << sizeof(int) << endl;
cout << "sizeof(long) = " << sizeof(long) << endl;
cout << "sizeof(float) = " << sizeof(float) << endl;
cout << "sizeof(double) = " << sizeof(double) << endl;
cout << "sizeof(long) = " << sizeof(long) << endl;
cout << "sizeof(float) = " << sizeof(float) << endl;
cout << "sizeof(double) = " << sizeof(double) << endl;
system("PAUSE"); //Pausebefehl
return 0; //Gibt einen wert Zürück
}
Programm 1.3: Ausgabe
Merken sie sich das diese Ergebnisse, Speziel für das system sind, wo es ausgefürt wurde.In der Tat aus diesen Ergebnissen können wir schliessen, das die C++ Typen folgenden Wertebereiche und Bytes auf dem 32 bit Windows system benötigen:
Variablen Typen | Wertebereich | Erforderliche Bytes |
char | [-128,127] | 1 |
short | [-32768, 32767] | 2 |
int | [-2147483648, 2147483647] | 4 |
long | [-2147483648, 2147483647] | 4 |
float | +[1.2x10-32, 3.4x1038] | 4 |
double | +[2.2x10-308, 1.8x10308] | 8 |
Beachten sie das es keinen unterschied im Wertebereich oder Speicherbedarf zwischen int und long gibt.
Datum: 29.06.2012