Eine Variable anlegen
Programme müssen sich Werte merken: den Punktestand in einem Spiel, den Preis eines Einkaufs, die Zahl der Schüler in einer Klasse. Dafür verwenden sie Variablen. Eine Variable ist wie eine beschriftete Kiste: Sie hat einen Namen und enthält einen Wert, den das Programm später verwenden kann. Die Kiste ist ein kleines Stück vom Speicher des Computers.
In C hat jede Variable außerdem einen Datentyp. Er sagt, welche Art von Werten in die Kiste passt: ganze Zahlen, Dezimalzahlen oder einzelne Zeichen. Den Typ wählst du, wenn du die Variable anlegst, und er kann sich später nicht mehr ändern.
So legst du eine Variable an:
int alter;intist der Datentyp. Er steht für eine ganze Zahl (vom englischen Wort integer).alterist der Name der Variablen. Den wählst du selbst.- Das Semikolon
;beendet die Anweisung, wie nach jedemprintf.
Eine Variable anzulegen heißt Deklaration. Jetzt gibt es die Kiste, aber sie hat noch keinen Wert. Einen Wert speicherst du mit = darin:
alter = 15;Vorsicht: Beim Programmieren bedeutet = nicht „gleich“ wie in der Mathematik. Lies es als „speichere“: 15 wird in der Variablen alter gespeichert.
Um den Wert zu verwenden, schreibst du den Namen der Variablen. In der vorigen Lektion hast du Zahlen mit %d ausgegeben: printf("%d\n", 5 + 3);. Eine Variable funktioniert genauso: Schreibe ihren Namen hinter das Komma, und printf setzt ihren Wert an die Stelle von %d.
#include <stdio.h>
int main(void) {
int alter;
alter = 15;
printf("Ich bin %d Jahre alt.\n", alter);
return 0;
}Das gibt Folgendes aus:
Ich bin 15 Jahre alt.Der Name steht außerhalb der Anführungszeichen. Alles innerhalb der Anführungszeichen wird genau so ausgegeben, wie es dasteht, deshalb gibt printf("alter\n"); das Wort alter aus, nicht 15.
Regeln für die Namen von Variablen:
- Ein Name kann Buchstaben, Ziffern und den Unterstrich
_enthalten, darf aber nicht mit einer Ziffer beginnen:spieler2ist in Ordnung,2spielernicht. - Ein Name darf keine Leerzeichen enthalten. Besteht er aus mehreren Wörtern, verbinde sie mit Unterstrichen:
anzahl_aepfel,gesamtpreis. Dieser Stil heißt snake_case, weil sich die mit Unterstrichen verbundenen Wörter wie eine Schlange durch die Zeile winden. Dieser Kurs verwendet ihn für alle Namen. - Verwende nur die einfachen Buchstaben a bis z, ohne Umlaute, ß und Akzente:
aepfelstattäpfelundcafestattcafé. Clang würdecaféakzeptieren, aber nicht jeder Compiler tut das, deshalb bleiben Programmierer bei einfachen Buchstaben. - Groß- und Kleinbuchstaben sind wichtig:
alterundAltersind zwei verschiedene Namen. Namen von Variablen schreibt man meist klein. - Ein Name darf kein Schlüsselwort sein, also ein Wort, das in C schon etwas bedeutet, wie
intoderreturn.
Wähle Namen, die sagen, was die Variable enthält: anzahl_aepfel sagt dir mehr als a oder x.
Du kannst eine Variable erst verwenden, nachdem du sie deklariert hast, und nur unter genau demselben Namen. Wenn du den Namen falsch schreibst, lässt sich das Programm nicht kompilieren:
#include <stdio.h>
int main(void) {
int alter;
alter = 15;
printf("%d\n", Alter);
return 0;
}Der Compiler meldet:
main.c:6:20: error: use of undeclared identifier 'Alter'; did you mean 'alter'?Die Zeile mit printf verwendet den Namen Alter, aber eine Variable mit diesem Namen gibt es nicht. Ein undeclared identifier ist ein Name, den niemand deklariert hat. Der Compiler schlägt sogar vor, dass du wahrscheinlich alter gemeint hast.
So schreibst du es:
Anweisungen
- 1
Deklariere unter dem
printfeine Variable vom Typintmit dem Namenanzahl_aepfel. - 2
Speichere in der nächsten Zeile den Wert
7darin. - 3
Gib die Variable darunter mit
%daus, damit das Programm Folgendes ausgibt:Ich bin 15 Jahre alt. Ich habe 7 Äpfel.