Contents
Was ist eine lokale Variable?
Eine lokale Variable ist ein Variablentyp, der verwendet werden kann, wenn der Bereich und die Ausdehnung der Variablen innerhalb der Methode oder des Anweisungsblocks liegt, in dem sie deklariert ist. Sie wird als Iterationsvariable in der foreach-Anweisung, als Ausnahmevariable in der Specific-Catch-Klausel und als Ressourcenvariable in der using-Anweisung verwendet. Es kann auch als Konstante verwendet werden, deren Wert innerhalb der Methode oder des Anweisungsblocks, in dem es deklariert ist, nicht geändert werden kann.
Lokale Variablen sind grundlegend für die prozedurale Programmierung und allgemeiner für die modulare Programmierung: Variablen mit lokalem Geltungsbereich werden verwendet, um Probleme mit Nebenwirkungen zu vermeiden, die bei globalen Variablen auftreten können.
In den meisten Sprachen sind lokale Variablen automatische Variablen, die direkt im Aufrufstapel gespeichert werden. Das bedeutet, dass wenn eine rekursive Funktion sich selbst aufruft, lokalen Variablen in jeder Instanz der Funktion unterschiedliche Adressen gegeben werden. Daher können Variablen dieses Gültigkeitsbereichs deklariert, geschrieben und gelesen werden, ohne das Risiko von Seiteneffekten auf Funktionen außerhalb des Blocks, in dem sie deklariert sind.
Was Sie über lokale Variablen wissen müssen
- Eine lokale Variable wird erstellt, wenn die Funktion ausgeführt wird, und sobald die Ausführung beendet ist, wird die Variable zerstört.
- Auf lokale Variablen kann mit Hilfe von Anweisungen innerhalb einer Funktion, in der sie deklariert sind, zugegriffen werden.
- Lokale Variablen werden am Anfang aller Blöcke oder Funktionen innerhalb des Programms deklariert.
- Wenn die lokale Variable nicht initialisiert wird, nimmt sie standardmäßig den Garbage-Wert an.
- Lokale Variablen werden in einem Stapelspeicher gespeichert, sofern nicht anders angegeben.
- Jede Änderung der lokalen Variablen wirkt sich nicht auf andere Funktionen des Programms aus.
- Eine gemeinsame Nutzung von Daten ist nicht möglich, da auf die Daten der lokalen Variablen nur von einer Funktion zugegriffen werden kann.
- Wenn der Wert der lokalen Variablen in einer Funktion geändert wird, sind die Änderungen in einer anderen Funktion nicht sichtbar.
- Die Übergabe von Parametern ist erforderlich, damit lokale Variablen auf den Wert in anderen Funktionen zugreifen können.
- Der Name, der lokalen Variablen in verschiedenen Funktionen gegeben wird, kann gleich oder unterschiedlich sein, da diese Funktionen nur denjenigen Funktionen zur Verfügung gestellt werden, für die sie innerhalb dieser Funktion deklariert sind.
Was ist eine globale Variable?
Globale Variablen sind, wie der Name schon sagt, Variablen, auf die global oder überall im Programm zugegriffen werden kann. Einmal deklariert, bleiben sie während der Laufzeit des Programms im Speicher. Das bedeutet, dass sie von jeder Funktion an jeder Stelle verändert werden können und das Programm als Ganzes beeinflussen können.
Eine Gruppe globaler Variablen wird als globaler Zustand oder globale Umgebung bezeichnet, da sie in Kombination verschiedene Aspekte eines Programms oder der Umgebung definieren, wenn das Programm ausgeführt wird. Eine globale Variable wird normalerweise über allen Funktionen deklariert und auf ein Minimum beschränkt, da alle Funktionen sie während der Laufzeit des Programms manipulieren können, was von den meisten Programmierern als gefährlich angesehen wird, da sie versehentlich geändert werden können, was zu Fehlern führt.
Was Sie über globale Variablen wissen müssen
- Eine globale Variable existiert im Programm für die gesamte Zeit, in der das Programm ausgeführt wird.
- Es kann im gesamten Programm von allen im Programm vorhandenen Funktionen aufgerufen werden.
- Globale Variablen werden normalerweise zu Beginn eines Programms deklariert, bevor Funktionen oder Blöcke definiert werden.
- Wenn die globale Variable nicht initialisiert ist, nimmt sie standardmäßig Null an.
- Globale Variablen werden in dem vom Compiler festgelegten Datensegment des Speichers gespeichert.
- Jede Änderung der globalen Variablen wirkt sich auf das gesamte Programm aus, unabhängig davon, wo es verwendet wird.
- Die gemeinsame Nutzung von Daten ist möglich, da mehrere Funktionen auf dieselbe globale Variable zugreifen können.
- Wenn der Wert der globalen Variablen in einer Funktion geändert wird, sind die Änderungen im Rest des Programms sichtbar.
- Die Übergabe von Parametern ist für eine globale Variable nicht erforderlich, da sie im gesamten Programm sichtbar ist.
- Der Name, der der globalen Variablen gegeben wird, kann nicht geändert werden, während auf sie an irgendeiner Stelle des Programms zugegriffen wird, da sie nur einmal zu Beginn des Programms deklariert und definiert wird.
Unterschied zwischen lokaler Variable und globaler Variable in tabellarischer Form
GRUNDLAGE DES VERGLEICHS | LOKALE VARIABLE | GLOBALE VARIABLE |
Zugriff | Auf lokale Variablen kann mit Hilfe von Anweisungen innerhalb einer Funktion, in der sie deklariert sind, zugegriffen werden. | Auf globale Variablen kann im gesamten Programm von allen im Programm vorhandenen Funktionen zugegriffen werden. |
Schaffung | Eine lokale Variable wird erstellt, wenn die Funktion ausgeführt wird, und sobald die Ausführung beendet ist, wird die Variable zerstört. | Eine globale Variable existiert im Programm für die gesamte Zeit, in der das Programm ausgeführt wird. |
Erklärung | Lokale Variablen werden am Anfang aller Blöcke oder Funktionen innerhalb des Programms deklariert. | Globale Variablen werden normalerweise zu Beginn eines Programms deklariert, bevor Funktionen oder Blöcke definiert werden. |
Initialisierung | Wenn die lokale Variable nicht initialisiert wird, nimmt sie standardmäßig den Garbage-Wert an. | Wenn die globale Variable nicht initialisiert ist, nimmt sie standardmäßig Null an. |
Gelagert | Lokale Variablen werden in einem Stapelspeicher gespeichert, sofern nicht anders angegeben. | Globale Variablen werden in dem vom Compiler festgelegten Datensegment des Speichers gespeichert. |
Änderung | Jede Änderung der lokalen Variablen wirkt sich nicht auf andere Funktionen des Programms aus. | Jede Änderung der globalen Variablen wirkt sich auf das gesamte Programm aus, unabhängig davon, wo es verwendet wird. |
Datenübertragung | Eine gemeinsame Nutzung von Daten ist nicht möglich, da auf die Daten der lokalen Variablen nur von einer Funktion zugegriffen werden kann. | Die gemeinsame Nutzung von Daten ist möglich, da mehrere Funktionen auf dieselbe globale Variable zugreifen können. |
Wertänderung | Wenn der Wert der lokalen Variablen in einer Funktion geändert wird, sind die Änderungen in einer anderen Funktion nicht sichtbar. | Wenn der Wert der globalen Variablen in einer Funktion geändert wird, sind die Änderungen im Rest des Programms sichtbar. |
Parameterübergabe | Die Übergabe von Parametern ist für eine globale Variable nicht erforderlich, da sie im gesamten Programm sichtbar ist. | Die Übergabe von Parametern ist für eine globale Variable nicht erforderlich, da sie im gesamten Programm sichtbar ist. |
Benennung | Der Name, der lokalen Variablen in verschiedenen Funktionen gegeben wird, kann gleich oder unterschiedlich sein, da diese Funktionen nur denjenigen Funktionen zur Verfügung gestellt werden, für die sie innerhalb dieser Funktion deklariert sind. | Der Name, der der globalen Variablen gegeben wird, kann nicht geändert werden, während auf sie an irgendeiner Stelle des Programms zugegriffen wird, da sie nur einmal zu Beginn des Programms deklariert und definiert wird. |
Vor- und Nachteile lokaler Variablen
Vorteile
- Lokale Variablen verwenden Speicher nur für die begrenzte Zeit, wenn die Funktion ausgeführt wird; Danach kann derselbe Speicherplatz wiederverwendet werden.
- Die Verwendung von lokalen Variablen bietet eine Garantie dafür, dass die Werte von Variablen intakt bleiben, während die Aufgabe ausgeführt wird.
- Lokalen Variablen kann in verschiedenen Funktionen derselbe Name gegeben werden, da sie nur von der Funktion erkannt werden, in der sie deklariert sind.
Nachteile
- Der Prozess des Debuggens einer lokalen Variablen ist ziemlich komplex.
- Eine gemeinsame Nutzung von Daten zwischen Modulen ist nicht möglich, und daher müssen gemeinsame Daten wiederholt weitergegeben werden.
- Lokale Variablen haben einen sehr begrenzten Gültigkeitsbereich.
Vor- und Nachteile globaler Variablen
Vorteile
- Es ist nur eine einzige Erklärung erforderlich.
- Auf globale Variablen kann von allen im Programm vorhandenen Modulen zugegriffen werden
- Sehr geeignet, wenn alle Funktionen auf dieselben Daten zugreifen.
- Es kann ein Programm in Bezug auf Konstanten leichter lesbar machen.
Nachteile
- Jede Anweisung in einem Programm kann den Wert ändern.
- Wenn globale Variablen aufgrund von Code-Refactoring eingestellt werden, müssen Sie alle Module ändern, in denen sie aufgerufen werden.
- Das macht das Debuggen schwieriger.
- Wenn Module globale Variablen verwenden, hängt dies vom Modul ab, und wenn andere Module präsentiert werden, müssen Sie jedes jedes Mal neu entwerfen.