Razlika između lokalne i globalne varijable

Ključne razlike između lokalne varijable i globalne varijable

  • Lokalna varijabla je deklarirana unutar funkcije, dok je Globalna varijabla deklarirana izvan funkcije.
  • Lokalne varijable se stvaraju kada je funkcija započela s izvođenjem i gube se kada funkcija završi, s druge strane, globalna varijabla se stvara kada izvođenje počinje i gubi se kada program završi.
  • Lokalna varijabla ne omogućuje dijeljenje podataka, dok globalna varijabla omogućuje dijeljenje podataka.
  • Lokalne varijable pohranjene su na stogu, dok je globalna varijabla pohranjena na fiksnoj lokaciji koju je odredio prevoditelj.
  • Prosljeđivanje parametara potrebno je za lokalne varijable, dok nije potrebno za globalne varijable

Razlika između lokalne i globalne varijable

Što je varijabla?

Varijabla je naziv dodijeljen prostoru za pohranu kojim program može manipulirati. Tip varijable određuje veličinu i raspored memorije varijable.

Također određuje raspon vrijednosti koje treba pohraniti unutar te memorije i prirodu operacija koje se mogu primijeniti na tu varijablu.

Opseg varijabli

Opseg varijable je jednostavno životni vijek varijable. To je blok koda pod kojim je varijabla primjenjiva ili živa. Na primjer:

function foo(){
var x;
}

Varijablu "x" deklarirate unutar funkcije "foo." Opseg te varijable ostaje unutar te funkcije i ne može se koristiti izvan te funkcije.
Postoje tri mjesta na kojima varijable možete deklarirati u programskom jeziku varijable:

  • Unutar funkcije ili bloka: Lokalne varijable
  • Izvan svih funkcija: Globalne varijable
  • U definiciji parametara funkcije: Formalni parametri

Lokalna varijabla

Lokalna varijabla definira se kao vrsta varijable deklarirane unutar programskog bloka ili potprograma. Može se koristiti samo unutar potprograma ili bloka koda u kojem je deklariran. Lokalna varijabla postoji sve dok se blok funkcije ne izvrši. Nakon toga će se automatski uništiti.

Primjer lokalne varijable

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

Ovdje su 'a' i 'b' lokalne varijable

Globalna varijabla

A Globalna varijabla u programu je varijabla definirana izvan potprograma ili funkcije. Ima globalni opseg što znači da zadržava svoju vrijednost tijekom životnog vijeka programa. Stoga mu se može pristupiti u cijelom programu bilo kojom funkcijom definiranom unutar programa, osim ako nije zasjenjena.

Primjer:

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

Ovdje su 'a' i 'b' globalne varijable.

Lokalne varijable protiv globalnih varijabli

Ovdje su neke temeljne razlike između lokalnih i globalnih varijabli.

Parametar lokalne Globalan
Djelokrug Deklariše se unutar funkcije. Deklarirano je izvan funkcije.
Još malo brojeva Ako se ne inicijalizira, pohranjuje se otpadna vrijednost Ako nije inicijalizirano, nula je pohranjena kao zadana.
Život Stvara se kada funkcija započne izvršavanje i gubi se kada funkcija završi. Stvara se prije nego započne globalno izvođenje programa i gubi se kada program završi.
Dijeljenje podataka Dijeljenje podataka nije moguće jer podacima lokalne varijable može pristupiti samo jedna funkcija. Dijeljenje podataka je moguće jer više funkcija može pristupiti istoj globalnoj varijabli.
Parametri Prosljeđivanje parametara potrebno je za lokalne varijable za pristup vrijednosti u drugoj funkciji Prosljeđivanje parametara nije potrebno za globalnu varijablu jer je vidljivo u cijelom programu
Modifikacija varijabilne vrijednosti Kada se vrijednost lokalne varijable promijeni u jednoj funkciji, promjene nisu vidljive u drugoj funkciji. Kada se vrijednost globalne varijable promijeni u jednoj funkciji, promjene su vidljive u ostatku programa.
Pristupio Lokalnim varijablama može se pristupiti uz pomoć iskaza, unutar funkcije u kojoj su deklarirane. Globalnim varijablama možete pristupiti bilo kojom naredbom u programu.
Pohrana memorije Pohranjuje se na stog osim ako nije navedeno. Pohranjuje se na fiksnoj lokaciji koju je odredio prevoditelj.

Prednosti korištenja globalnih varijabli

  • Globalnoj varijabli možete pristupiti iz svih funkcija ili modula u programu
  • Morate deklarirati globalnu varijablu samo jednom izvan modula.
  • Idealno se koristi za pohranjivanje "konstanti" jer vam pomaže zadržati dosljednost.
  • Globalna varijabla je korisna kada više funkcija pristupa istim podacima.

Prednosti korištenja lokalnih varijabli

  • Korištenje lokalnih varijabli jamči da će vrijednosti varijabli ostati netaknute dok se zadatak izvodi
  • Ako nekoliko zadataka mijenja jednu varijablu koja se izvodi istovremeno, tada rezultat može biti nepredvidiv. Ali deklariranje kao lokalne varijable rješava ovaj problem jer će svaki zadatak stvoriti vlastitu instancu lokalne varijable.
  • Lokalnim varijablama možete dati isti naziv u različitim funkcijama jer ih prepoznaje samo funkcija u kojoj su deklarirane.
  • Lokalne varijable se brišu čim bilo koja funkcija završi i oslobađaju memorijski prostor koji zauzimaju.

Nedostaci korištenja globalnih varijabli

  • Previše varijabli je deklarirano kao globalno, a zatim ostaju u memoriji dok se ne završi izvođenje programa. To može uzrokovati problem s nedostatkom memorije.
  • Podaci se mogu mijenjati bilo kojom funkcijom. Svaka izjava napisana u programu može promijeniti vrijednost globalne varijable. To može dati nepredvidive rezultate u okruženjima s više zadataka.
  • Ako se globalne varijable ukinu zbog refaktoriranja koda, morat ćete promijeniti sve module u kojima se pozivaju.

Nedostaci korištenja lokalnih varijabli

  • Proces otklanjanja pogrešaka lokalne varijable prilično je zeznut.
  • Zajednički podaci moraju se ponavljati jer dijeljenje podataka nije moguće između modula.
  • Imaju vrlo ograničen opseg.

Što je korisnije?

Lokalna i globalna varijabla jednako su važne pri pisanju programa na bilo kojem jeziku. Međutim, veliki broj globalnih varijabli može zauzeti veliku memoriju. Neželjenu promjenu globalnih varijabli postalo je teško identificirati. Stoga je preporučljivo izbjegavati deklariranje neželjenih globalnih varijabli.