Forskjellen mellom lokal og global variabel

Innholdsfortegnelse:

Anonim

Hva er en variabel?

Variabel er et navn tilordnet et lagringsområde som programmet kan manipulere. En variabel type bestemmer størrelsen og utformingen av variabelens minne.

Det bestemmer også verdiområdet som må lagres i det minnet og arten av operasjoner som kan brukes på den variabelen.

I denne veiledningen vil du lære

  • Omfanget av variabler
  • Definisjon av lokal variabel
  • Definisjon av global variabel
  • Lokale variabler vs. globale variabler
  • Fordeler med å bruke globale variabler
  • Fordeler med å bruke lokale variabler
  • Ulemper ved å bruke globale variabler
  • Ulemper ved å bruke lokale variabler
  • Hva er mer nyttig?

Omfanget av variabler

Omfanget av variabelen er bare levetiden til en variabel. Det er kodeblokk der en variabel kan brukes eller lever under. For eksempel:

function foo(){var x;}

Du erklærer en variabel "x" i en funksjon "foo." Omfanget av den variabelen forblir inne i den funksjonen, den kan ikke brukes utenfor den funksjonen.

Det er tre steder hvor variabler du kan erklære variabelt programmeringsspråk:

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

HOVEDFORSKJELL

  • Lokal variabel blir deklarert i en funksjon, mens global variabel blir deklarert utenfor funksjonen.
  • Lokale variabler opprettes når funksjonen har startet utførelsen og går tapt når funksjonen avsluttes, derimot opprettes Global variabel når utførelsen starter og går tapt når programmet avsluttes.
  • Lokal variabel gir ikke datadeling, mens global variabel gir datadeling.
  • Lokale variabler lagres på stakken, mens den globale variabelen lagres på et fast sted bestemt av kompilatoren.
  • Parametere som passerer kreves for lokale variabler, mens det ikke er nødvendig for en global variabel

Lokal variabel

Lokal variabel er definert som en type variabel deklarert i programmeringsblokk eller underrutiner. Den kan bare brukes inne i underrutinen eller kodeblokken der den er erklært. Den lokale variabelen eksisterer til blokken for funksjonen er under kjøring. 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

En global variabel i programmet er en variabel som er definert utenfor underrutinen eller funksjonen. Det har et globalt omfang, noe som betyr at det holder verdien gjennom hele programmets levetid. Derfor kan du få tilgang til det i hele programmet med en hvilken som helst funksjon som er definert i programmet, med mindre det er skyggelagt.

Eksempel:

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

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

Lokale variabler vs. Globale variabler

Her er noen grunnleggende forskjeller mellom lokale og globale variabler.

Parameter Lokalt Global
omfang Det er erklært inne i en funksjon. Det er erklært utenfor funksjonen.
Verdi Hvis den ikke initialiseres, lagres en søppelverdi Hvis den ikke er initialisert, er null lagret som standard.
Livstid Den opprettes når funksjonen starter utførelse og går tapt når funksjonene avsluttes. Det opprettes før programmets globale kjøring starter og går tapt når programmet avsluttes.
Datadeling Datadeling er ikke mulig da data fra den lokale variabelen kan nås av bare en funksjon. Datadeling er mulig ettersom flere funksjoner har tilgang til samme globale variabel.
Parametere Parametere som passerer kreves for at lokale variabler skal få tilgang til verdien i en annen funksjon Parametere som passerer er ikke nødvendig for en global variabel, siden den er synlig i hele programmet
Endring av variabel verdi 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 en funksjon, er endringer synlige i resten av programmet.
Tilgang til Du kan få tilgang til lokale variabler ved hjelp av utsagn, inne i en funksjon der de blir erklært. Du kan få tilgang til globale variabler ved en hvilken som helst uttalelse i programmet.
Minne lagring Den lagres på bunken med mindre det er spesifisert. Den lagres på et fast sted som kompilatoren bestemmer.

Fordeler med å bruke globale variabler

  • Du får tilgang til den globale variabelen fra alle funksjonene eller modulene i et program
  • Du trenger bare å erklære global variabel én gang utenfor modulene.
  • Den brukes ideelt til lagring av "konstanter", da den hjelper deg med å holde konsistensen.
  • En global variabel er nyttig når flere funksjoner får tilgang til de samme dataene.

Fordeler med å bruke lokale variabler

  • Bruken av lokale variabler gir en garanti for at verdiene til variablene forblir intakte mens oppgaven kjører
  • Hvis flere oppgaver endrer en enkelt variabel som kjører samtidig, kan resultatet være uforutsigbart. Men å erklære det som en lokal variabel løser dette problemet da hver oppgave vil opprette 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 erklært i.
  • Lokale variabler slettes så snart en hvilken som helst funksjon er over, og frigjør minneplassen den opptar.

Ulemper ved å bruke globale variabler

  • For mange variabler erklært som globale, så forblir de i minnet til programkjøringen er fullført. Dette kan forårsake problemet med minne uten.
  • Data kan endres av hvilken som helst funksjon. Enhver uttalelse 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 kodereformering, må du endre alle modulene der de heter.

Ulemper ved å bruke lokale variabler

  • Feilsøkingsprosessen til en lokal variabel er ganske vanskelig.
  • Vanlige data som kreves for å passere gjentatte ganger, da datadeling ikke er mulig mellom moduler.
  • De har et veldig begrenset omfang.

Hva er mer nyttig?

Den lokale og globale variabelen er like viktig når du skriver et program på alle språk. Imidlertid kan et stort antall av den globale variabelen oppta et enormt minne. En uønsket endring av globale variabler er blitt vanskelig å identifisere. Derfor anbefales det å unngå å erklære uønskede globale variabler.