Variablendeklaration


Eine Variablenvereinbarung hat die Form
VAR <Bezeichner>: <Typ>;
sie führt einen Bezeichner  als Benennung für einen Behälter ein, der Werte eines gegebenen Typs  aufnehmen kann. Bei Aktivierung des Blockes, zu dem die Variable gehört, wird dem Behälter ein Speicherobjekt zugeordnet, das über einen Zugriffspfad, die Referenz, erreichbar ist.

Kommt eine Variablenbenennung im Programmtext vor, so bedeutet dies je nach dem Kontext Verschiedenes: 

Bezeichnet eine Variablenbenennung eine Variable eines strukturierten Typs, so können von ihr weitere Benennungen für die Komponenten abgeleitet werden, denen ebenfalls Referenzen entsprechen. So ist

Die einer Variablenbenennung entsprechende Referenz  ist eine verallgemeinerte Adresse  des zugeordneten Behälters. Sie braucht nicht direkt eine Maschinenadresse  oder Hausnummer zu sein; manche Prozessoren besitzen allgemeinere Adressierungsmodi. Es gibt Programmsysteme, wo die Referenz ihren Wert sogar während des Programmlaufs ändern kann, ohne daß der Programmierer das bemerken muß!

Die Referenzen  auf Behälter für Werte eines Typs T bilden selbst  eine Klasse Ptr(T), den T zugeordneten Pointertyp. Mit Werten eines Pointertyps kann nur sehr eingeschränkt gerechnet werden (außer in C und seinen Verwandten, und dort ist es riskant), aber man kann über sie auf den Inhalt  des Behälters lesend und schreibend zugreifen.


zurück | Inhalt | Index | vor | Vorlesung

Klaus Lagally, 22. Februar 2000, 19:36