Zurück zu: C Tutorial
Etwas im Speicher merken
Eine Variable ist ein Stückchen Speicherplatz, der einen Namen trägt. Dieser Speicherplatz wird verwendet, um Daten zu speichern. Diese Daten können während der Ausführung des Programms geändert werden. Man kann sich eine Variable wie eine Box vorstellen, in die man verschiedene Dinge legen kann, und man kann den Inhalt dieser Box jederzeit ändern.
In C muss man vor der Verwendung einer Variable sagen, welche Art von Daten darin gespeichert werden sollen.
In C gibt es verschiedene Typen von Variablen (definiert mit unterschiedlichen Schlüsselwörtern), zum Beispiel:
int
– speichert Ganzzahlen ohne Dezimalstellen, z. B.123
oder-123
float
– speichert Gleitkommazahlen mit Dezimalstellen, z. B.19,99
oder-19,99
char
– speichert einzelne Zeichen, z. B.'a'
oder'B'
. Zeichen sind in einfache Anführungszeichen eingeschlossen.
Deklarieren und Wert zuweisen
Um eine Variable zu erstellen, musst Du den Typ angeben.
Syntax
<Typ> variablenName = wert;
Dabei ist <Typ> einer der C-Typen (z. B. int
) und variablenName der Name der Variablen (z. B. x oder myName). Das Gleichheitszeichen wird verwendet, um der Variablen einen Wert zuzuweisen.
Um eine Variable zu erstellen, die eine Zahl speichern soll, sieh dir das folgende Beispiel an:
Beispiel
Erstellt eine Variable namens myNum vom Typ int
und weist ihr den Wert 15 zu:
int myNum = 15;
Du kannst eine Variable auch deklarieren, ohne den Wert zuzuweisen, und den Wert später zuweisen:
Beispiel
// Deklaration einer Variablen
int myNum;
// Wertzuweisung an eine Variable
myNum = 15;
Ausgabevariablen
Du hast bereits gelernt, dass du mit der Funktion printf()
Werte bzw. Text ausgeben kannst:
Beispiel
printf("Hallo Welt!");
In vielen anderen Programmiersprachen (wie Python, Java) kannst du einfach eine Ausgabefunktion nutzen, um den Wert einer Variablen auszugeben. In C funktioniert das aber nicht so direkt.
Das funktioniert so nicht…
int myNum = 15;
printf(myNum); // Der Wert 15 wird nicht ausgegeben!
Um Variablen in C auszugeben, musst du die sogenannten „Formatbezeichner“ kennen. Diese wirst du jetzt näher kennenlernen.
Formatbezeichner
Formatbezeichner werden zusammen mit der Funktion printf()
verwendet, um dem Compiler mitzuteilen, welche Art von Daten die Variable speichert. Im Grunde handelt es sich dabei um einen Platzhalter für den Variablenwert.
Ein Formatbezeichner beginnt mit einem Prozentzeichen %
, gefolgt von einem weiteren Zeichen.
Um beispielsweise den Wert einer int
Variable auszugeben, verwenden Sie den Formatbezeichner %d
, umgeben von doppelten Anführungszeichen (""
), innerhalb der printf()
Funktion:
Beispiel
int myNum = 15;
printf("%d", myNum); // Gibt den Wert 15 aus
Um andere Typen auszugeben kannst du z.B. %c
für char
und %f
für float verwenden
:
Beispiel
// Erzeuge Variablen vom Typ int, float und char und weise diesen einen Wert zu
int myNum = 15; // Integer (ganze Zahl)
float myFloatNum = 5.99; // Fließkommazahl
char myLetter = 'D'; // einzelnes Zeichen
// Werte ausgeben
printf("%d\n", myNum);
printf("%f\n", myFloatNum);
printf("%c\n", myLetter);
Um sowohl Text als auch Variablen zu kombinieren, trenne sie innerhalb der printf()
Funktion mit einem Komma:
Beispiel
int myNum = 15;
printf("Meine Lieblingszahl ist: %d", myNum);
Um verschiedene Typen in einer einzigen printf()
Funktion zu drucken, können Sie Folgendes verwenden:
Beispiel
int myNum = 15;
char myLetter = 'D';
printf("Meine Lieblingszahl ist %d und mein Lieblingszeichen ist %c", myNum, myLetter);
In einem späteren Kapitel erfährst du mehr über Datentypen.
Werte ohne Variablen drucken
Du kannst einen Wert auch einfach ausgeben, ohne ihn in einer Variablen zu speichern, solange du den richtigen Formatbezeichner verwendest:
Beispiel
printf("Meine Lieblingszahl ist: %d", 15);
printf("Mein Lieblingsbuchstabe ist: %c", 'D');
Es ist jedoch nachhaltiger, Variablen zu verwenden, da diese für später gespeichert und jederzeit wiederverwendet werden können.
Variablenwerte ändern
Wenn du einer existierenden Variable einen neuen Wert zuweist wird der vorherige Wert überschrieben:
Beispiel
int myNum = 15; // myNum hat jetzt den Wert 15
myNum = 10; // myNum hat jetzt den Wert 10
Sie können den Wert einer Variablen auch einer anderen Variablen zuweisen:
Beispiel
int myNum = 15;
int myOtherNum = 23;
// Weise den Wert von myOtherNum (23) der Variablen myNum zu
myNum = myOtherNum;
// myNum hat jetzt den Wert 23 (statt 15)
printf("%d", myNum);
Oder kopiere Werte in eine leere Variable:
Beispiel
// Erzeuge eine Variable und weise dieser den Wert 15 zu
int myNum = 15;
// Deklariere eine Variable ohne ihr einen Wert zuzuweisen
int myOtherNum;
// Weise der Variable den Wert von myNum der Variablen myOtherNum zu
myOtherNum = myNum;
// myOtherNum hat jetzt den Wert 15
printf("%d", myOtherNum);
Variablen addieren
Um den Wert einer Variable zu einer anderen Variablen zu addieren kannst du den Operator „+
“ verwenden:
Beispiel
int x = 5;
int y = 6;
int sum = x + y; // Summe aus x und y
printf("%d", sum);
Deklarieren mehrerer Variablen
Um mehr als eine Variable desselben Typs zu deklarieren, verwende eine durch Kommas getrennte Liste:
Beispiel
int x = 5, y = 6, z = 50;
printf("%d", x + y + z);
Du kannst auch mehreren Variablen desselben Typs denselben Wert zuweisen:
Beispiel
int x, y, z;
x = y = z = 50; // Weist x,y und z den Wert 50 zu
printf("%d", x + y + z);
Variablennamen in C
Alle C-Variablen brauchen einen eindeutigen Namen. Diese eindeutigen Namen nennt man Bezeichner. Bezeichner können kurze Namen wie x oder y sein, aber auch aussagekräftigere wie Alter, Summe oder Gesamtvolumen.
Tipp: Verwende am besten beschreibende Namen, damit dein Code leichter zu verstehen und zu pflegen ist.
Beispiel
// Ein guter Variablenname
int minutenProStunde = 60;
// OK, aber nicht so einfach zu verstehen für was m eigentlich steht
int m = 60;
Die allgemeinen Regeln zum Benennen von Variablen lauten:
- Namen können Buchstaben, Ziffern und Unterstriche enthalten.
- Namen müssen mit einem Buchstaben oder einem Unterstrich (_) beginnen.
- Namen sind groß- und kleinschreibungsabhängig (
myVar
undmyvar
sind unterschiedliche Variablen). - Namen dürfen keine Leerzeichen oder Sonderzeichen wie !, #, %, usw. enthalten.
- Reservierte Wörter (wie
int
) können nicht als Namen verwendet werden.
Beispiel aus dem echten Leben
In unseren Beispielen vereinfachen wir Variablennamen häufig so, dass sie ihrem Datentyp entsprechen (myInt oder myNum für int
Typen, myChar für char
Typen usw.). Dies geschieht, um Verwirrung zu vermeiden.
Als praktisches Beispiel für die Verwendung von Variablen dient das folgende kleine Programm zur Verwaltung der Daten eines Studenten:
Beispiel 1
// Angaben
int studentID = 15; // Matrikelnummer
int studentAge = 23; // Alter
float studentFee = 75.25; // Studiengebühren
char studentGrade = 'B'; // Note
// Ausgabe der Variablen
printf("Id: %d\n", studentID);
printf("Alter: %d\n", studentAge);
printf("Gebuehren: %f\n", studentFee);
printf("Note: %c", studentGrade);
Beispiel 2: Fläche eines Rechtecks berechnen
In diesem Beispiel erstellen wir ein Programm zur Berechnung der Fläche eines Rechtecks (durch Multiplikation von Länge und Breite):
// Erzeuge Variablen für Länge (length), Breite (width) und Fläche (area)
int length = 4;
int width = 6;
int area;
// Berechne die Fläche
area = length * width;
// Ausgabe der Variablen
printf("Laenge: %d\n", length);
printf("Breite: %d\n", width);
printf("Flaeche des Rechtsecks: %d", area);