Forskjellen mellom lokal og global variabel

Nøkkelforskjeller mellom lokal variabel og global variabel

  • Den lokale variabelen er deklarert inne i en funksjon, mens den globale variabelen er deklarert utenfor funksjonen.
  • Lokale variabler opprettes når funksjonen har startet kjøring og går tapt når funksjonen avsluttes, på den annen side opprettes en Global variabel når kjøringen starter og går tapt når programmet avsluttes.
  • Den lokale variabelen gir ikke datadeling, mens den globale variabelen gir datadeling.
  • Lokale variabler lagres på stabelen, mens den globale variabelen lagres på et fast sted bestemt av kompilatoren.
  • Passering av parametere er nødvendig for lokale variabler, mens det ikke er nødvendig for en global variabel

Forskjellen mellom lokal og global variabel

Hva er en variabel?

Variabel er en navnetilordning til et lagringsområde som programmet kan manipulere. En variabeltype bestemmer størrelsen og utformingen av variabelens minne.

Den bestemmer også rekkevidden av verdier som må lagres i det minnet og arten av operasjoner som kan brukes på den variabelen.

Omfang av variabler

Omfanget av variabelen er ganske enkelt levetiden til en variabel. Det er en kodeblokk der en variabel er anvendelig eller levende. For eksempel:

function foo(){
var x;
}

Du erklærer en variabel "x" inne i en funksjon "foo." Omfanget til den variabelen forblir innenfor den funksjonen, den kan ikke brukes utenfor den funksjonen.
Det er tre steder hvor variabler du kan deklarere variabelt programmeringsspråk:

  • Inne i en funksjon eller en blokk: Lokale variabler
  • Utenfor alle funksjoner: Globale variabler
  • I definisjonen av funksjonsparametere: Formelle parametere

Lokal variabel

Lokal variabel er definert som en type variabel deklarert innenfor programmeringsblokk eller subrutiner. Den kan bare brukes i subrutinen eller kodeblokken der den er deklarert. Den lokale variabelen eksisterer til blokken av funksjonen er under utførelse. Etter det vil den bli ødelagt automatisk.

Eksempel på lokal variabel

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

Her er 'a' og 'b' lokale variabler

Global variabel

A Global variabel i programmet er en variabel definert utenfor subrutinen eller funksjonen. Den har et globalt omfang betyr at den beholder sin verdi gjennom hele programmets levetid. Derfor kan den nås gjennom hele programmet med en hvilken som helst funksjon som er definert i programmet, med mindre den er skyggelagt.

Eksempel:

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

Her er 'a' og 'b' globale variabler.

Lokale variable vs globale variabler

Her er noen grunnleggende forskjeller mellom lokale og globale variabler.

Parameter lokal Global
Omfang Det er deklarert inne i en funksjon. Det er deklarert utenfor funksjonen.
Verdi Hvis den ikke initialiseres, lagres en søppelverdi Hvis den ikke er initialisert, lagres null som standard.
Lifetime Den opprettes når funksjonen starter utførelse og går tapt når funksjonene avsluttes. Den opprettes før programmets globale kjøring starter og går tapt når programmet avsluttes.
Datadeling Datadeling er ikke mulig ettersom data fra den lokale variabelen kun kan nås med én funksjon. Datadeling er mulig ettersom flere funksjoner kan få tilgang til den samme globale variabelen.
Parametre Det kreves overføring av parametere for at lokale variabler skal få tilgang til verdien i andre funksjoner Passering av parametere er ikke nødvendig for en global variabel da den er synlig gjennom hele programmet
Endring av variabelverdi Når verdien av den lokale variabelen endres i en funksjon, er ikke endringene synlige i en annen funksjon. Når verdien av den globale variabelen endres i én funksjon, er endringer synlige i resten av programmet.
Tilgang til av Lokale variabler kan nås ved hjelp av utsagn, inne i en funksjon der de er deklarert. Du kan få tilgang til globale variabler ved hjelp av en hvilken som helst setning i programmet.
Minne lagring Den lagres på stabelen med mindre det er spesifisert. Den er lagret på et fast sted bestemt av kompilatoren.

Fordeler med å bruke globale variabler

  • Du kan få tilgang til den globale variabelen fra alle funksjonene eller modulene i et program
  • Du trenger bare å deklarere global variabel enkelttid utenfor modulene.
  • Den brukes ideelt til å lagre "konstanter", da den hjelper deg med å holde konsistensen.
  • En global variabel er nyttig når flere funksjoner har tilgang til samme data.

Fordeler med å bruke lokale variabler

  • Bruk av lokale variabler gir en garanti for at verdiene til variabler forblir intakte mens oppgaven kjører
  • Hvis flere oppgaver endrer en enkelt variabel som kjører samtidig, kan resultatet bli uforutsigbart. Men å erklære den som lokal variabel løser dette problemet ettersom hver oppgave vil lage sin egen forekomst av den lokale variabelen.
  • Du kan gi lokale variabler samme navn i forskjellige funksjoner fordi de bare gjenkjennes av funksjonen de er deklarert i.
  • Lokale variabler slettes så snart en funksjon er over og frigjør minneplassen som den opptar.

Ulemper ved bruk av globale variabler

  • For mange variabler erklært som globale, så forblir de i minnet til programkjøringen er fullført. Dette kan føre til at minnet er fullt.
  • Data kan endres av enhver funksjon. Enhver setning skrevet i programmet kan endre verdien av den globale variabelen. Dette kan gi uforutsigbare resultater i miljøer med flere oppgaver.
  • Hvis globale variabler avvikles på grunn av koderefaktorering, må du endre alle modulene der de kalles.

Ulemper ved å bruke lokale variabler

  • Feilsøkingsprosessen for en lokal variabel er ganske vanskelig.
  • Vanlige data som kreves for å sendes gjentatte ganger da datadeling ikke er mulig mellom moduler.
  • De har et svært begrenset omfang.

Hva er mer nyttig?

Den lokale og globale variabelen er like viktig når du skriver et program på et hvilket som helst språk. Imidlertid kan et stort antall av den globale variabelen oppta et stort minne. En uønsket endring av globale variabler er blitt vanskelig å identifisere. Derfor er det tilrådelig å unngå å deklarere uønskede globale variabler.

Oppsummer dette innlegget med: