Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03241.jsonl.gz/245

in den Block automatisch Speicher zugewiesen. Mit Verlassen des Blockes wird
diese Speicherzuweisung wieder aufgehoben.

Der Gültigkeitsbereich eines Namens, der innerhalb eines Funktion vereinbart wurde
ist demzufolge auf diese Funktion begrenzt. Dies gilt in gleicher
Weise auch für die Parameter der Funktion. Die beschränkte Verfügbarkeit
von Namen bietet einige Vorteile:
- Variable und Konstante können innerhalb der Funktion einen
bestimmten Wert erhalten.
- Namen, die lokal vereinbart wurden, sind außerhalb der Funktion
unbekannt. Somit können verschiedene Funktionen Variablen gleichen
Namens verwenden, ohne daß ein Konflikt entsteht (Unabhängiges
Erstellen von Funktionen im Team möglich).
- Globale Variablen können von allen Funktionen gleichermaßen
genutzt werden.
- Globale Variablen werden durch lokale Variablen gleichen Namens
"überdeckt".
Durch den letzten Punkt ist eine Aussage über den Gültigkeitsbereich
von Namen etwas komplizierter. Eine Variable, die im Hauptprogramm vereinbart
wurde, "lebt" sicher für die gesamte Programmlaufzeit. Ist
jedoch in einem Funktion eine Variable gleichen
Namens definiert, so kann die globale Variable innerhalb der Funktion
nicht angesprochen werden - sie wird gewissermaßen ausgeblendet.
Es gilt also die Regel, daß lokale Vereinbarungen die globalen
überdecken. Eine globale Variable besitzt zwar eine Lebensdauer,
die vom Programmbegin bis zum Programmende reicht, der Gültigkeitsbereich
kann hingegen "Löcher" haben.
Das folgende (völlig sinnlose) Programm zeigt beispielhaft den
Gültigkeitsbereich von Namen. Die Linien auf der rechten Seite
geben den Gültigkeitsbereich der Variablen an. Ist die Linie
durchgezogen (|), ist der entsprechende Name gültig. Ist die Linie
gepunktet (:), ist der Name von einer lokalen Variablen überdeckt.
Fehlt die Linie ganz, ist die entsprechende Variable unbekannt.
Demoprogramm.txt