Falls keine weitere Angabe erfolgt, sind Variablen
auto
matic. Dies bedeutet, daß sie angelegt werden, sobald
das Programm über die Zeile läuft, in der sie deklarariert sind.
Sobald das Programm den Block verlässt, in dem sie deklariert
sind, wird der zugehörige Speicher wieder freigegeben. Der Block ist
im allgemeinen das innerste die Variable umschließende Paar
geschweifter Klammern, oder wie im Fall der in den ()-Bereichen von
Anweisungen wie
for(;;)
deklarierten Variablen, das Ende dieser Anweisung.
In diesem Fall wird der Speicherplatz freigegeben, sobald diese
Anweisung vollständig abgearbeitet ist. Variablen dieser Art werden
vom Compiler meist im sogennanten Stack-Bereich des Programmes angelegt.
Der Inhalt einer solchen Variable ist zufällig, wenn sie nicht
explizit im Programm initialisiert wurde. Da dies zu subtilen Fehlern
führen kann, sollte man solche Variablen immer entweder
durch eine explizite Initialisierung auf einen passenden Wert setzen oder
möglichst unmittelbar vor der
ersten Verwendung deklarieren (so daß sichtbar ist, daß die
Variable angemessen - z.B. in einer Eingabe - verwendet wird).