WikiDer > Bereich (Informatik)

Bereik (informatica)

In dem Informatik wird mit dem erreichen (normalerweise die Umfang) von a Symbol der Teil der Quellcode in dem dieses Symbol definiert ist. Begrenzung der Umfang eines Symbols ermöglicht es, denselben Namen mehrmals zu verwenden, ohne dass unterschiedliche Definitionen widersprüchlich sind. Ein weiterer wichtiger Grund ist, dass durch die Begrenzung der Umfang eines Symbols kann das Innenleben eines Teils eines Programms oder einer Programmbibliothek verbergen, so dass unerwünschte Verknüpfung ausgeschlossen werden kann. Ein bekanntes Beispiel für die Begrenzung von a Umfang sind lokale Variablen, die nur innerhalb der Prozedur gültig sind, in der sie definiert sind, aber auch Namensräume sollen die Reichweite eines Symbols begrenzen.

Die Regeln, denen die Reichweite eines Symbols unterliegt, variieren von Sprache zu Sprache, aber meistens[1] wird der Umfang gegeben von der Block in dem das Symbol definiert ist.

Statischer und dynamischer Bereich

An einer statische Reichweite (ebenfalls lexikalischer Bereich genannt) wird der Bereich eines Symbols syntaktisch bestimmt: es ist ein bestimmter Teil des Quellcodes, der die Definition des Symbols enthält. Der Bereich wird also beim Kompilieren des Programms festgelegt (Kompilierzeit), um die Gültigkeit der verwendeten Symbole durch den Compiler zu überprüfen, der entsprechende Diagnosemeldungen erzeugen kann.

Im Dynamikbereich wird der Bereich eines Symbols durch die Ausführung des Programms bestimmt (Laufzeit): Eine Definition eines Symbols bleibt in Kraft, wo immer dieser Code definiert ist, bis er undefiniert ist. Fehler bei der Verwendung von Symbolen können daher nur während der Programmausführung erkannt werden.

Globale Reichweite

Ein Sonderfall ist der globaler Geltungsbereich, was bedeutet, dass das Symbol im gesamten Programm definiert ist. Da dieser Geltungsbereich Teile des Quellcodes nicht ausschließt, sind alle Vorteile der Beschränkung der Umfang hat verloren. Von der Praxis wird daher in der Regel dringend abgeraten.