Lokale Variablen
← Mathematische Funktionen | ● | Globale Variablen →
Variablen, die in dem Deklarationsblock einer Funktion definiert wurden, sind nur innerhalb des Anweisungsblocks der Funktion sichtbar. Man spricht daher von lokalen Variablen.
polynom( /* function signature (declaration) */
double x, /* function parameter */
double a, /* function parameter */
double b, /* function parameter */
double c) /* function parameter */
{ /* function body (definition) */
double r; /* local variable */
r=c+(b+(a*x))*x; /* parametrized computation */
return(r); /* single return value */
}
Beim Aufruf einer Funktion wird für allen lokalen Variablen eine neue Instanz erzeugt. Der Wert lokaler Variablen ist daher beim Funktionsaufruf undefiniert. Daher müssen sie immer auf geeignete Weise initialisiert werden.
Andernfalls hat dies ein undefiniertes Laufzeitverhalten zur Folge, das sich schwierig debuggen läßt, da es nicht reproduzierbar ist.
Nach dem Aufruf wird die Instanz gelöscht, die lokale Variable ist daher auch nicht mehr existent.
Auch für die Parameter der Funktion wird bei jedem Aufruf eine neue Instanz erzeugt. Sie verhalten sich also wie lokale Variablen, mit dem Unterschied, dass der Wert der Parameter anfangs nicht undefiniert ist, sondern dem Wert der jeweils aktuellen Argumente des jeweiligen Funktionsaufrufs entspricht.