Damit eine Variable auch verwendet werden kann, muss Speicherplatz dafür reserviert werden. Fūr das konkrete Speicherobjekt der Variablen im Programm bzw. im ausführbaren Code wird die Definition vereinbart.
Eine Deklaration darf mehrmals im Code vorkommen, eine Definition hingegen nur einmal im Programm. Wenn Sie beispielsweise eine Ganzzahlvariable ivar
wie folgt vereinbaren:
int ivar;
deklarieren Sie eine Variable vom Datentyp int mit dem Bezeichner ivar
und definieren sie auch gleichzeitig, Somit ist es in diesem Beispiel nicht falsch zu sagen, dass eine Definition gleichzeitig auch eine Deklaration ist.
Mehrere Bezeichner desselben Datentyps lassen sich auch in einer Zeile, getrennt durch Kommata, vereinbaren:
int ivar1, ivar2, ivar3;
Wenn Sie eine Variable nur deklarieren wollen, mûssen Sie das Schlüsselwort extern
davorsetzen:
// datei-01.c
extern int Ivar; // Deklaration
Mit diesem Schlüsselwort bestimmen Sie, dass kein Speicherplatz für ivar reserviert wird und dass Sie die Definition dieser Variablen (gewóhnlich) in einem anderen Modul vornehmen. Die Definition und Speicherplatzreservierung erfolgen jetzt beispielsweise in einem anderen Quelltextmodul:
// datei-02.c
Int ivar;
Habe nicht ganz verstanden: Wozu diese (extern)? Bedeutet: Ich sage dem Computer, diese gehört NICHT zum reservierten Schlüsselwörter von C? Damit ich diesen (Variablen Name → ivar ) nutzen kann?