Variablen und Datentypen in C++
Was ist das und wozu dient es?
Stell dir vor, du spielst ein Computerspiel. Du hast ein Inventar: ein Schwert, einen Heiltrank, Goldmünzen. In der Programmierung ist es dasselbe – wir müssen Daten irgendwo speichern, mit denen das Programm arbeitet. Variablen sind wie Kästchen oder Schachteln, in die man eine Zahl, ein Wort oder etwas anderes legen kann. Jede Schachtel hat einen Namen (z.B. anzahl_leben oder name_held), und man kann nur einen bestimmten Typ von Dingen hineinlegen: in die eine Zahlen, in die andere Text, in die dritte Ja/Nein.
Datentypen sind Regeln, die besagen: „In diese Schachtel darfst du nur ganze Zahlen legen“, „Und in diese nur Wörter“. Wozu ist das gut? Damit der Computer nichts durcheinanderbringt: Wenn du sagst, dass in der Schachtel eine Zahl ist, dann kann man damit addieren, subtrahieren und multiplizieren. Wenn dort aber Text ist, kann man andere Operationen damit durchführen: Wörter verbinden, Buchstaben suchen. Ohne Datentypen gäbe es Chaos – als ob in einem Spiel das Schwert plötzlich zu einem Trank würde und die Münzen anfingen zu reden.
Für einen Schüler ist das wichtig, weil jedes Programm mit Daten arbeitet. Willst du einen Taschenrechner machen? Du brauchst Zahlen. Willst du ein Spiel mit Dialogen? Du brauchst Zeichenketten (Text). Willst du prüfen, ob ein Spieler ein Level geschafft hat? Du brauchst boolesche Werte (wahr/falsch). Variablen und Typen sind das Fundament, auf dem alles andere aufbaut.
Syntax und Codebeispiele
In C++ musst du zuerst eine Variable deklarieren – dem Computer sagen: „Hör zu, ich möchte eine Schachtel mit diesem Namen, und darin werden diese Daten sein“. Das macht man so: zuerst schreibt man den Datentyp, dann den Variablennamen, dann (falls nötig) ein Gleichheitszeichen und den Wert.
#include <iostream> // damit wir Text auf dem Bildschirm ausgeben können
using namespace std; // damit wir nicht std:: vor jedes Wort schreiben müssen
int main() {
// Beispiel 1: ganze Zahl (int)
int alter = 14; // erstelle Variable "alter" vom Typ int (ganze Zahl) und lege 14 hinein
cout << "Mein Alter: " << alter << endl; // auf dem Bildschirm ausgeben
// Beispiel 2: Gleitkommazahl (double) – für Brüche
double groesse = 1.65; // Größe in Metern, kann 1.65 speichern
cout << "Meine Größe: " << groesse << " m" << endl;
// Beispiel 3: Text (string)
string name = "Alice"; // Wort oder Satz in Anführungszeichen
cout << "Ich heiße " << name << endl;
// Beispiel 4: boolescher Typ (bool) – nur true (wahr) oder false (falsch)
bool magProgrammieren = true; // true = 1, false = 0
cout << "Mag programmieren? " << magProgrammieren << endl; // gibt 1 aus (weil true)
// Beispiel 5: Zeichen (char) – ein einzelner Buchstabe oder eine Ziffer in einfachen Anführungszeichen
char ersterBuchstabe = 'A';
cout << "Erster Buchstabe des Namens: " << ersterBuchstabe << endl;
return 0; // Programm erfolgreich beendet
}
Beachte: In C++ endet jeder Ausdruck mit einem Semikolon ;. Wenn du es vergisst, wird das Programm nicht kompiliert (der Computer versteht nicht, wo der Befehl endet).
Noch ein Beispiel – wie man Variablen ändern kann:
int punkte = 0; // zuerst 0
punkte = 10; // jetzt 10
punkte = punkte + 5; // jetzt 15 (alten Wert nehmen, 5 addieren)
cout << punkte << endl; // gibt 15 aus
Den Datentyp kann man nicht ändern: Wenn du int deklariert hast, kannst du später keinen Text hineinlegen. Der Computer wird sich beschweren.
Vergleich mit Python
In Python ist alles einfacher: Man muss den Datentyp nicht angeben. Python errät selbst, was du meinst. Aber für diese Einfachheit bezahlt man mit Geschwindigkeit und Strenge – in C++ weißt du genau, wie viel Speicher jede Variable belegt, und das Programm läuft schneller.
Sieh dir an, wie dieselben Beispiele in Python aussehen:
# Python: man muss nicht int, string, bool schreiben – der Typ wird automatisch bestimmt
alter = 14 # Python hat selbst verstanden, dass das eine Zahl ist
groesse = 1.65 # und das eine Gleitkommazahl
name = "Alice" # das ist eine Zeichenkette
magProgrammieren = True # boolescher Typ
ersterBuchstabe = 'A' # Zeichen (in Python ist das auch eine Zeichenkette, aber nur aus einem Zeichen)
print("Mein Alter:", alter)
print("Meine Größe:", groesse, "m")
print("Ich heiße", name)
print("Mag programmieren?", magProgrammieren)
print("Erster Buchstabe des Namens:", ersterBuchstabe)
Siehst du den Unterschied? In C++ schreiben wir int alter = 14;, in Python einfach alter = 14. Python verlangt keine Typdeklaration – es schaut auf den Wert und entscheidet selbst. Aber wenn du in C++ versuchst, int alter = "Alice"; zu schreiben, gibt der Compiler einen Fehler aus. In Python hingegen kannst du alter = "Alice" schreiben, und es wird sich nicht beschweren – aber wenn du später versuchst, das Alter mit einer Zahl zu addieren, stürzt das Programm zur Laufzeit ab.
Ein weiterer Unterschied: In C++ musst du Bibliotheken einbinden (z.B. #include <iostream> für die Bildschirmausgabe), während in Python viele Dinge bereits eingebaut sind. Für einen Schüler ist Python einfacher für den Einstieg, aber C++ vermittelt ein tieferes Verständnis dafür, wie ein Computer funktioniert.
Typische Anfängerfehler
- Semikolon vergessen. Das ist der häufigste Fehler. Der Compiler sagt: „Fehler: Semikolon erwartet“. Setze einfach ein
;am Ende jedes Befehls. - Eine nicht deklarierte Variable verwenden. Wenn du
cout << x;schreibst, die Variablexaber nicht deklariert wurde, versteht der Compiler nicht, was das ist. Deklariere immer zuerst:int x = 5; - Anführungszeichen verwechseln. Für Zeichenketten (mehrere Zeichen) brauchst du doppelte Anführungszeichen:
"Hallo". Für ein einzelnes Zeichen – einfache:'A'. Wenn du sie verwechselst, gibt es einen Fehler. - Einen Wert vom falschen Typ zuweisen. Zum Beispiel
int a = 3.14;– der Compiler könnte warnen, dass der Nachkommateil verloren geht (es wird 3).