Unterschied zwischen lokaler und globaler Variable

Inhaltsverzeichnis:

Anonim

Was ist eine Variable?

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

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.

In diesem Tutorial lernen Sie

  • Umfang der Variablen
  • Definition der lokalen Variablen
  • Definition der globalen Variablen
  • Lokale Variable vs. globale Variablen
  • Vorteile der Verwendung globaler Variablen
  • Vorteile der Verwendung lokaler Variablen
  • Nachteile der Verwendung globaler Variablen
  • Nachteile der Verwendung lokaler Variablen
  • Was ist nützlicher?

Umfang der Variablen

Der Umfang der Variablen ist einfach die Lebensdauer einer Variablen. Es ist ein Codeblock, unter dem eine Variable anwendbar oder lebendig ist. Zum Beispiel:

function foo(){var x;}

Sie deklarieren eine Variable "x" innerhalb einer Funktion "foo". Der Gültigkeitsbereich dieser Variablen verbleibt innerhalb dieser Funktion. Sie kann nicht außerhalb dieser Funktion verwendet werden.

Es gibt drei Stellen, an denen Sie Variablen als Programmiersprache deklarieren können:

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

SCHLÜSSELUNTERSCHIED

  • Lokale Variable wird innerhalb einer Funktion deklariert, während globale Variable außerhalb der Funktion deklariert wird.
  • Lokale Variablen werden erstellt, wenn die Funktion mit der Ausführung begonnen hat und beim Beenden der Funktion verloren geht. Andererseits wird die globale Variable beim Start der Ausführung erstellt und geht beim Beenden des Programms verloren.
  • Die lokale Variable bietet keine gemeinsame Nutzung von Daten, während die globale Variable die gemeinsame Nutzung von Daten ermöglicht.
  • Lokale Variablen werden auf dem Stapel gespeichert, während die globalen Variablen an einem vom Compiler festgelegten festen Speicherort gespeichert werden.
  • Die Übergabe von Parametern ist für lokale Variablen erforderlich, während sie für eine globale Variable nicht erforderlich ist

Lokale Variable

Lokale Variable ist definiert als ein Variablentyp, der in Programmierblöcken oder Unterprogrammen deklariert ist. Es kann nur innerhalb des Unterprogramms 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 zerstört.

Beispiel für eine lokale Variable

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

Hier sind 'a' und 'b' lokale Variablen

Globale Variable

Eine globale Variable im Programm ist eine Variable, die außerhalb des Unterprogramms oder der Funktion definiert ist. Es hat einen globalen Geltungsbereich und bedeutet, dass es seinen Wert während der gesamten Laufzeit des Programms beibehält. Daher kann von jeder im Programm definierten Funktion im gesamten Programm darauf zugegriffen werden, es sei denn, es ist schattiert.

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 Lokal Global
Umfang Es wird innerhalb einer Funktion deklariert. Es wird außerhalb der Funktion deklariert.
Wert Wenn es nicht initialisiert wird, wird ein Garbage-Wert gespeichert Wenn es nicht initialisiert ist, wird standardmäßig Null gespeichert.
Lebensdauer Es wird erstellt, wenn die Funktion mit der Ausführung beginnt, und geht verloren, wenn die Funktionen beendet werden. Es wird erstellt, bevor die globale Ausführung des Programms beginnt, und geht verloren, wenn das Programm beendet wird.
Datenübertragung Die gemeinsame Nutzung von Daten ist nicht möglich, da auf Daten der lokalen Variablen nur mit einer Funktion zugegriffen werden 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 Variablenwertes 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 Änderungen im Rest des Programms sichtbar.
Zugriff durch Auf lokale Variablen kann mit Hilfe von Anweisungen innerhalb einer Funktion zugegriffen werden, in der sie deklariert sind. 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, den der Compiler festgelegt hat.

Vorteile der Verwendung globaler Variablen

  • Sie können von allen Funktionen oder Modulen in einem Programm 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 eine Garantie dafür, dass die Werte von Variablen während der Ausführung der Aufgabe erhalten bleiben
  • Wenn mehrere Aufgaben eine einzelne Variable ändern, die gleichzeitig ausgeführt wird, ist das Ergebnis möglicherweise unvorhersehbar. Das Deklarieren als lokale Variable löst dieses Problem, da jede Aufgabe eine 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

  • Zu viele als global deklarierte Variablen verbleiben im Speicher, bis die Programmausführung abgeschlossen ist. Dies kann zu einem Problem mit zu wenig Speicher führen.
  • Daten können von jeder 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 eingestellt 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 schwierig.
  • Gemeinsame Daten, die wiederholt übergeben werden müssen, da die gemeinsame Nutzung von Daten zwischen Modulen nicht möglich ist.
  • Sie haben einen sehr begrenzten Umfang.

Was ist nützlicher?

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