8. Die Programmiersprache C2
8.5.5 Globale und lokale Variablen
C2 und die virtuelle Maschine der C-Control II unterscheiden zwischen globalen und
lokalen Variablen. Globale Variablen werden auf Modulebene neben Threads,
Funktionen, benannten Konstanten und zusammengesetzten Datentypen definiert.
z.B.
int i;
function fx ()
{
//...
}
Globale Variablen existieren während des gesamten Programmablaufes statisch an einer
ganz bestimmten, vom Compiler berechneten Speicherstelle. Über den Modulnamen sind
sie im gesamten Quelltext nach der Definition sichtbar und zugreifbar. Globale Variablen
sollten sehr sparsam und gut überlegt verwendet werden! Nach Möglichkeit sollten
sämtliche Manipulationen einer Variablen innerhalb desselben Moduls vorgenommen
werden, in dem sie definiert wurde. Anderenfalls wird ein Programm schnell unübersicht-
lich, wenn nicht mehr klar erkennbar ist, an welcher Stelle sich der Wert einer globalen
Variablen ändern kann. Typische Anwendung für globale Variablen sind Variablen zur
Speicherung von Programmzuständen und Benutzereinstellungen, Variablen für den
Datenaustausch zwischen Threads oder Bytearray-Variablen als Pufferspeicher bei einer
Datenübertragung. Lokale Variablen werden im Anweisungsblock eines Threads oder
einer Funktion definiert.
z.B.
function fx ()
{
int i;
//...
}
Lokale Variablen einer Funktion werden zur Programmlaufzeit auf dem Stack des aktuellen
Threads angelegt und existieren nur innerhalb eines Speicherkontextes, d.h. während der
51