Definition / Zuweisung

Bei der Deklaration einer Variablen wird dem Compiler nur mitgeteilt, daß es eine Variable dieses Typs und dieses Namens gibt. Woher diese kommt, interessiert dabei noch nicht und falls diese fehlt, wird der Compiler es erst sehr spät merken, nämlich erst dann, wenn sie benutzt werden soll.

Mit der Definition einer Variablen weist man den Compiler dann an, für diese Variable Speicherplatz zu reservieren, und diesen Speicherplatz mit der Variablen zu verknüpfen. Über eine Definition wie:

  int zahl = 42;

weise ich den Compiler an, Platz für eine Variable vom Typ int zu reservieren und diesen Speicherplatz zu nutzen, wenn die Variable genutzt wird. In diesem Fall erfolgt auch gleich eine Zuweisung, d.h. es wird etwas in den Speicherplatz eingetragen, nämlich der Zahlenwert 42.

Die Zuweisung muß dabei nicht bei der Definition erfolgen, sondern kann auch später gemacht werden:

  int zahl;     // Deklaration und Definition
     // ...
  zahl = 42;    // Zuweisung
Eine reine Deklaration kommt z.B. dann vor, wenn man das Schlüsselwort extern voranstellt, um eine Variable zu deklarieren, die in einem anderen Programmteil definiert wird:

  extern int zahl; // nur Deklaration - Definition muß woanders erfolgen