Initialisierung und Zuweisung
Wenn du einer Variablen schon beim Erstellen einen Wert gibst, heißt das Initialisierung. Später kannst du einen anderen Wert darin speichern, das nennt man Zuweisung. Um einen Wert zuzuweisen, schreibst du den Namen der Variablen, = und den neuen Wert, aber ohne den Datentyp, weil die Variable schon existiert:
int punkte = 0;
std::cout << "Punkte: " << punkte << "\n";
punkte = 50;
std::cout << "Punkte: " << punkte << "\n";Das gibt aus:
Punkte: 0
Punkte: 50Ein Programm führt seine Anweisungen nacheinander von oben nach unten aus. Bei der ersten Ausgabe enthält punkte den Wert 0. Die nächste Zeile ersetzt ihn durch 50, und der alte Wert ist weg. Die zweite Ausgabe zeigt also den neuen Wert.
Ein häufiger Fehler ist, beim Zuweisen den Datentyp noch einmal hinzuschreiben: int punkte = 50;. Das würde eine zweite Variable mit demselben Namen erstellen, und das erlaubt C++ nicht. Das Programm lässt sich nicht kompilieren, und der Compiler meldet redefinition of 'punkte': Du definierst den Namen punkte ein zweites Mal.
Du kannst auch den Wert einer anderen Variablen speichern. Dabei wird eine Kopie des Werts gespeichert. Wenn du später eine der Variablen änderst, bleibt die andere unverändert:
int rekord = 50;
int punkte = rekord;
rekord = 80;
std::cout << punkte << " und " << rekord << "\n";Das gibt aus:
50 und 80Du kannst eine Variable auch ohne Wert erstellen und ihr später einen zuweisen:
int punkte;
punkte = 50;Solange du aber nichts darin gespeichert hast, hat die Variable keinen definierten Wert. Sie enthält, was zufällig an ihrer Stelle im Speicher übrig geblieben ist, und C++ hindert dich nicht daran:
int punkte;
std::cout << "Punkte: " << punkte << "\n";Auf dieser Seite gibt dieses Programm meistens Punkte: 0 aus, auf einem anderen Computer könnte es aber Punkte: 76646343 ausgeben, und beim nächsten Mal etwas anderes. Verlass dich also nicht auf die Null und gib deinen Variablen beim Erstellen einen Wert: int punkte = 0;.
So schreibst du es:
Anweisungen
- 1
temperaturhat noch keinen Wert, deshalb gibt das Programm eine Zahl aus, die niemand darin gespeichert hat. Initialisiere sie: Gib ihr beim Erstellen den Wert12. Dann gibt das ProgrammMorgens: 12 Gradaus. - 2
Am Nachmittag ist es wärmer geworden. Weise
temperaturunter der Ausgabe den neuen Wert18zu. - 3
Gib darunter den neuen Wert auf dieselbe Weise aus, aber mit
NachmittagsstattMorgens. Das Programm sollte ausgeben:Morgens: 12 Grad Nachmittags: 18 Grad