Unterschied zwischen lokaler und globaler Variable

Hauptunterschiede zwischen lokaler Variable und globaler Variable

  • Die lokale Variable wird innerhalb einer Funktion deklariert, während die globale Variable außerhalb der Funktion deklariert wird.
  • Lokale Variablen werden erstellt, wenn die Ausführung der Funktion begonnen hat, und gehen verloren, wenn die Funktion beendet wird. Andererseits wird eine globale Variable erstellt, wenn die Ausführung beginnt, und geht verloren, wenn das Programm endet.
  • Die lokale Variable ermöglicht keine Datenfreigabe, wohingegen die globale Variable die Datenfreigabe ermöglicht.
  • Lokale Variablen werden auf dem Stapel gespeichert, während die globale Variable an einem festen, vom Compiler festgelegten Ort gespeichert wird.
  • Die Übergabe von Parametern ist für lokale Variablen erforderlich, während dies für eine globale Variable nicht erforderlich ist

Unterschied zwischen lokaler und globaler Variable

Was ist eine Variable?

Eine Variable ist ein Name, der einem Speicherbereich zugewiesen wird, den das Programm bearbeiten kann. Ein Variablentyp bestimmt die Größe und das Layout des Variablenspeichers.

Es bestimmt auch den Wertebereich, der in diesem Speicher gespeichert werden muss, und die Art der Operationen, die auf diese Variable angewendet werden können.

Gültigkeitsbereich von Variablen

Der Gültigkeitsbereich der Variablen ist einfach die Lebensdauer einer Variablen. Es handelt sich um einen Codeblock, unter dem eine Variable anwendbar oder aktiv ist. Zum Beispiel:

function foo(){
var x;
}

Sie deklarieren eine Variable „x“ innerhalb einer Funktion „foo“. Der Gültigkeitsbereich dieser Variablen bleibt innerhalb dieser Funktion und kann nicht außerhalb dieser Funktion verwendet werden.
Es gibt drei Orte, an denen Variablen in der Programmiersprache Variable deklariert werden können:

  • Innerhalb einer Funktion oder eines Blocks: Lokale Variablen
  • Außerhalb aller Funktionen: Globale Variablen
  • Bei der Definition von Funktionsparametern: Formale Parameter

Lokale Variable

Lokale Variable ist als ein Variablentyp definiert, der in Programmierblöcken oder Unterprogrammen deklariert wird. Es kann nur innerhalb der Unterroutine oder des Codeblocks verwendet werden, in dem es deklariert ist. Die lokale Variable existiert, bis der Block der Funktion ausgeführt wird. Danach wird es automatisch vernichtet.

Beispiel einer lokalen Variablen

public int add(){
int a =4;
int b=5;
return a+b;
}

Hier sind „a“ und „b“ lokale Variablen

Globale Variable

A Globale Variable im Programm ist eine Variable, die außerhalb des Unterprogramms oder der Funktion definiert ist. Es hat eine globale Reichweite, was bedeutet, dass es seinen Wert während der gesamten Lebensdauer des Programms behält. Daher kann im gesamten Programm von jeder im Programm definierten Funktion darauf zugegriffen werden, es sei denn, sie ist geschattet.

Beispiel:

int a =4;
int b=5;
public int add(){
return a+b;
}

Hier sind „a“ und „b“ globale Variablen.

Lokale Variable vs. globale Variablen

Hier sind einige grundlegende Unterschiede zwischen lokalen und globalen Variablen.

Parameter Lokale Global
Geltungsbereich Es wird innerhalb einer Funktion deklariert. Es wird außerhalb der Funktion deklariert.
Wert Wenn es nicht initialisiert ist, wird ein Müllwert gespeichert Wenn es nicht initialisiert ist, wird Null als Standard gespeichert.
Lebenslang Es wird erstellt, wenn die Funktion mit der Ausführung beginnt, und geht verloren, wenn die Funktion beendet wird. Es wird erstellt, bevor die globale Ausführung des Programms beginnt, und geht verloren, wenn das Programm beendet wird.
Datenübertragung Eine gemeinsame Nutzung von Daten ist nicht möglich, da nur eine Funktion auf die Daten der lokalen Variablen zugreifen kann. Die gemeinsame Nutzung von Daten ist möglich, da mehrere Funktionen auf dieselbe globale Variable zugreifen können.
Parameter Die Übergabe von Parametern ist erforderlich, damit lokale Variablen auf den Wert in einer anderen Funktion zugreifen können Die Übergabe von Parametern ist für eine globale Variable nicht erforderlich, da sie im gesamten Programm sichtbar ist
Änderung des Variablenwerts 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.
Zugegriffen von Auf lokale Variablen kann mit Hilfe von Anweisungen innerhalb einer Funktion zugegriffen werden, in der sie deklariert werden. Sie können mit jeder Anweisung im Programm auf globale Variablen zugreifen.
Speicher Es wird auf dem Stapel gespeichert, sofern nicht anders angegeben. Es wird an einem festen Ort gespeichert, der vom Compiler festgelegt wird.

Vorteile der Verwendung globaler Variablen

  • Sie können von allen Funktionen oder Modulen eines Programms aus auf die globale Variable zugreifen
  • Sie müssen die globale Variable nur einmal außerhalb der Module deklarieren.
  • Es wird ideal zum Speichern von „Konstanten“ verwendet, da es Ihnen hilft, die Konsistenz zu erhalten.
  • Eine globale Variable ist nützlich, wenn mehrere Funktionen auf dieselben Daten zugreifen.

Vorteile der Verwendung lokaler Variablen

  • Die Verwendung lokaler Variablen bietet die Garantie, dass die Werte der Variablen während der Ausführung der Aufgabe erhalten bleiben
  • Wenn mehrere Aufgaben eine einzelne Variable ändern, läuft diese gleichzeitigneoNormalerweise kann das Ergebnis unvorhersehbar sein. Durch die Deklaration als lokale Variable wird dieses Problem jedoch gelöst, da jede Aufgabe ihre eigene Instanz der lokalen Variablen erstellt.
  • Sie können lokalen Variablen in verschiedenen Funktionen denselben Namen geben, da sie nur von der Funktion erkannt werden, in der sie deklariert sind.
  • Lokale Variablen werden gelöscht, sobald eine Funktion beendet ist und geben den von ihr belegten Speicherplatz frei.

Nachteile der Verwendung globaler Variablen

  • Wenn zu viele Variablen als global deklariert sind, bleiben sie im Speicher, bis die Programmausführung abgeschlossen ist. Dies kann zu einem Problem mit nicht genügend Arbeitsspeicher führen.
  • Daten können durch jede Funktion geändert werden. Jede im Programm geschriebene Anweisung kann den Wert der globalen Variablen ändern. Dies kann in Multitasking-Umgebungen zu unvorhersehbaren Ergebnissen führen.
  • Wenn globale Variablen aufgrund von Code-Refactoring nicht mehr unterstützt werden, müssen Sie alle Module ändern, in denen sie aufgerufen werden.

Nachteile der Verwendung lokaler Variablen

  • Der Debugging-Prozess einer lokalen Variablen ist ziemlich knifflig.
  • Gemeinsame Daten müssen wiederholt übergeben werden, da ein Datenaustausch zwischen Modulen nicht möglich ist.
  • Ihr Umfang ist sehr begrenzt.

Was ist nützlicher?

Die lokale und globale Variable sind beim Schreiben eines Programms in einer beliebigen Sprache gleichermaßen wichtig. Allerdings kann eine große Anzahl globaler Variablen einen großen Speicher belegen. Eine unerwünschte Änderung globaler Variablen ist schwer zu erkennen. Daher ist es ratsam, die Deklaration unerwünschter globaler Variablen zu vermeiden.