Verschil tussen lokale en globale variabele

Inhoudsopgave:

Anonim

Wat is een variabele?

Variabele is een naam die is toegewezen aan een opslaggebied dat het programma kan manipuleren. Een type variabele bepaalt de grootte en lay-out van het geheugen van de variabele.

Het bepaalt ook het bereik van waarden die in dat geheugen moeten worden opgeslagen en de aard van de bewerkingen die op die variabele kunnen worden toegepast.

In deze tutorial leer je

  • Bereik van variabelen
  • Definitie van lokale variabele
  • Definitie van globale variabele
  • Lokale variabele versus globale variabelen
  • Voordelen van het gebruik van globale variabelen
  • Voordelen van het gebruik van lokale variabelen
  • Nadelen van het gebruik van globale variabelen
  • Nadelen van het gebruik van lokale variabelen
  • Wat is er nuttiger?

Bereik van variabelen

Het bereik van de variabele is gewoon de levensduur van een variabele. Het is een codeblok waaronder een variabele van toepassing of levend is. Bijvoorbeeld:

function foo(){var x;}

Je declareert een variabele "x" binnen een functie "foo." Het bereik van die variabele blijft binnen die functie en kan niet buiten die functie worden gebruikt.

Er zijn drie plaatsen waar variabelen u variabele programmeertaal kunt declareren:

  • Binnen een functie of een blok: Lokale variabelen
  • Buiten alle functies: globale variabelen
  • In de definitie van functieparameters: Formele parameters

BELANGRIJK VERSCHIL

  • Lokale variabele wordt binnen een functie gedeclareerd, terwijl globale variabele buiten de functie wordt gedeclareerd.
  • Lokale variabelen worden gemaakt wanneer de functie is begonnen met uitvoeren en gaan verloren wanneer de functie wordt beëindigd. Aan de andere kant wordt een globale variabele gemaakt wanneer de uitvoering begint en gaat verloren wanneer het programma eindigt.
  • Lokale variabele biedt geen gegevensuitwisseling, terwijl globale variabele gegevensuitwisseling biedt.
  • Lokale variabelen worden opgeslagen op de stapel, terwijl de globale variabele wordt opgeslagen op een vaste locatie die wordt bepaald door de compiler.
  • Het doorgeven van parameters is vereist voor lokale variabelen, terwijl het niet nodig is voor een globale variabele

Lokale variabele

Lokale variabele wordt gedefinieerd als een type variabele dat wordt gedeclareerd binnen het programmeerblok of subroutines. Het kan alleen worden gebruikt binnen de subroutine of het codeblok waarin het is gedeclareerd. De lokale variabele blijft bestaan ​​totdat het blok van de functie wordt uitgevoerd. Daarna wordt het automatisch vernietigd.

Voorbeeld van een lokale variabele

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

Hier zijn 'a' en 'b' lokale variabelen

Globale variabele

Een globale variabele in het programma is een variabele die buiten de subroutine of functie is gedefinieerd. Het heeft een globale reikwijdte, wat betekent dat het zijn waarde behoudt gedurende de levensduur van het programma. Daarom kan het door het hele programma worden benaderd door elke functie die binnen het programma is gedefinieerd, tenzij het in de schaduw staat.

Voorbeeld:

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

Hier zijn 'a' en 'b' globale variabelen.

Lokale variabele versus. Globale variabelen

Hier zijn enkele fundamentele verschillen tussen lokale en globale variabelen.

Parameter Lokaal Globaal
Reikwijdte Het wordt binnen een functie gedeclareerd. Het wordt buiten de functie verklaard.
Waarde Als het niet is geïnitialiseerd, wordt een afvalwaarde opgeslagen Als het niet is geïnitialiseerd, wordt nul als standaard opgeslagen.
Levenslang Het wordt gemaakt wanneer de functie wordt uitgevoerd en gaat verloren wanneer de functies worden beëindigd. Het wordt gemaakt voordat de algemene uitvoering van het programma begint en gaat verloren wanneer het programma wordt beëindigd.
Het delen van gegevens Het delen van gegevens is niet mogelijk omdat de gegevens van de lokale variabele toegankelijk zijn voor slechts één functie. Het delen van gegevens is mogelijk omdat meerdere functies toegang hebben tot dezelfde globale variabele.
Parameters Het doorgeven van parameters is vereist voor lokale variabelen om toegang te krijgen tot de waarde in een andere functie Het doorgeven van parameters is niet nodig voor een globale variabele, aangezien deze in het hele programma zichtbaar is
Wijziging van variabele waarde Wanneer de waarde van de lokale variabele in de ene functie wordt gewijzigd, zijn de wijzigingen niet zichtbaar in een andere functie. Wanneer de waarde van de globale variabele in één functie wordt gewijzigd, zijn veranderingen zichtbaar in de rest van het programma.
Betreden door Lokale variabelen zijn toegankelijk met behulp van instructies, binnen een functie waarin ze worden gedeclareerd. U hebt toegang tot globale variabelen via elke instructie in het programma.
Geheugenopslag Het wordt op de stapel opgeslagen, tenzij anders aangegeven. Het wordt opgeslagen op een vaste locatie die wordt bepaald door de samensteller.

Voordelen van het gebruik van globale variabelen

  • U hebt toegang tot de globale variabele vanuit alle functies of modules in een programma
  • U hoeft alleen de globale variabele enkelvoudig buiten de modules te declareren.
  • Het wordt bij uitstek gebruikt voor het opslaan van "constanten", aangezien het u helpt de consistentie te behouden.
  • Een globale variabele is handig wanneer meerdere functies toegang hebben tot dezelfde gegevens.

Voordelen van het gebruik van lokale variabelen

  • Het gebruik van lokale variabelen biedt een garantie dat de waarden van variabelen intact blijven terwijl de taak wordt uitgevoerd
  • Als meerdere taken een enkele variabele wijzigen die tegelijkertijd wordt uitgevoerd, kan het resultaat onvoorspelbaar zijn. Maar het declareren als lokale variabele lost dit probleem op, aangezien elke taak zijn eigen exemplaar van de lokale variabele zal maken.
  • U kunt lokale variabelen dezelfde naam geven in verschillende functies, omdat ze alleen worden herkend door de functie waarin ze zijn gedeclareerd.
  • Lokale variabelen worden verwijderd zodra een functie voorbij is en maken de geheugenruimte vrij die deze inneemt.

Nadelen van het gebruik van globale variabelen

  • Te veel variabelen gedeclareerd als globaal, dan blijven ze in het geheugen totdat de uitvoering van het programma is voltooid. Dit kan het probleem met onvoldoende geheugen veroorzaken.
  • Gegevens kunnen door elke functie worden gewijzigd. Elke instructie die in het programma is geschreven, kan de waarde van de globale variabele wijzigen. Dit kan onvoorspelbare resultaten opleveren in multi-tasking-omgevingen.
  • Als globale variabelen worden stopgezet vanwege codeherstructurering, moet u alle modules wijzigen waarin ze worden aangeroepen.

Nadelen van het gebruik van lokale variabelen

  • Het foutopsporingsproces van een lokale variabele is behoorlijk lastig.
  • Gemeenschappelijke gegevens die herhaaldelijk moeten worden doorgegeven, omdat het delen van gegevens tussen modules niet mogelijk is.
  • Ze hebben een zeer beperkte reikwijdte.

Wat is er nuttiger?

De lokale en globale variabele zijn even belangrijk bij het schrijven van een programma in elke taal. Een groot aantal van de globale variabelen kan echter een enorm geheugen innemen. Een ongewenste wijziging van globale variabelen is moeilijk te identificeren. Daarom is het raadzaam om geen ongewenste globale variabelen te declareren.