Varijabla je naziv dodijeljen prostoru za pohranjivanje kojim može upravljati program. Vrsta varijable specificira veličinu i konfiguraciju memorije varijable.
Raspon vrijednosti koji se može umetnuti u varijablu izračunava se prije umetanja vrijednosti u nju, budući da se tip varijable mora odlučiti prije umetanja vrijednosti u nju.
Opseg varijabli
Opseg varijable je doslovno životni vijek varijable. To je blok koda u kojem je varijabla važeća ili još živa.
function poo() { var a; }
Unutar funkcije 'a' deklariramo varijablu 'poo'. Opseg te varijable ostaje unutar te funkcije i ne može se koristiti izvan te funkcije.
Postoje tri mjesta na kojima možemo koristiti varijablu u našem programiranju.
- U funkciji ili unutar bloka tada se kaže da su lokalne varijable
- Ako se koristi izvan svih funkcija, tada se naziva Globalne varijable
- Ako se koristi u definiciji parametara funkcije, tada se naziva formalnim parametrima.
Velika razlika
- Varijabla koja je deklarirana unutar funkcije naziva se lokalnom varijablom, dok ako je varijabla deklarirana izvan funkcije poznata je kao globalna varijabla.
- S druge strane, kada je funkcija započela s izvođenjem i izgubljena je kada funkcija završi, globalne varijable se stvaraju kada izvođenje započne i gube se kada program završi. Stvorene su lokalne varijable.
- Lokalna varijabla ne uključuje dijeljenje podataka, dok je dijeljenje podataka zadano globalnom varijablom.
- Lokalne varijable pohranjuju se na stog, dok globalnu varijablu programer pohranjuje na fiksnu lokaciju.
- Za lokalne varijable potrebni su parametri dok se globalna varijabla ne mora prenositi.
Parametar | Lokalno | Globalno |
---|---|---|
Opseg | Unutar funkcije. | Opseg je izvan funkcije. |
Vrijednost | Ako vrijednost nije inicijalizirana, dat će vrijednost smeća. | Ako vrijednost nije inicijalizirana, prema zadanim postavkama dat će nulu. |
Doživotno | Stvara se kada funkcija započne s izvođenjem i gubi se kada funkcije završe. | Stvara se prije nego započne globalno izvođenje programa i gubi se kada program završi. |
Dijeljenje podataka | Nije moguće. | moguće. |
Parametri | Potreban. | Nije obavezno. |
Pristupio | Lokalne varijable | Možemo pristupiti globalnim varijablama u cijelom programu. |
Memorijska pohrana | Na hrpi. | Na fiksnoj lokaciji koju je dodijelilo računalo. |
Lokalna varijabla
Lokalna varijabla navedena je u programskom bloku ili potprogramima kao oblik deklarirane varijable. Lokalna varijabla postoji prije nego što se izvrši blok funkcije. Nakon toga će se automatski izgubiti.
Primjer lokalne varijable
public int sum(){ int x =4; int y=5; return x+y; }
Ovdje su 'x' i 'y' lokalne varijable
Globalna varijabla
Varijabla koja je navedena izvan funkcije ili bloka koda poznata je kao globalna varijabla. Ima globalni doseg, što znači da zadržava svoju relevantnost tijekom životnog vijeka programa. Stoga, svaka značajka navedena unutar programa može joj pristupiti unutar programa, osim ako nije zasjenjena.
Primjer globalne varijable
int x =4; int y=5; public int add(){ return x+y; }
Ovdje su 'x' i 'y' globalne varijable.
Prednosti korištenja globalnih varijabli
- Globalnoj varijabli može se pristupiti iz svih funkcija ili modula u programu.
- Trebamo samo deklarirati jednokratnu globalnu varijablu izvan modula.
- Koristi se kada korisnik mora uvijek iznova pristupiti istim podacima u cijelom programu.
Nedostaci korištenja globalnih varijabli
- Toliko se varijabli proglasi globalnim, a zatim ostaju u memoriji dok se ne završi izvođenje programa. To može pokrenuti problem Nedostatka memorije.
- Bilo koja značajka može promijeniti podatke. Svaka izjava koja je napisana u programu promijenit će vrijednost globalne varijable. U okruženjima s više zadataka to može ponuditi nepredvidive ishode.
- Moramo modificirati sve module gdje su imenovani ako se globalne varijable ukinu zbog refaktoriranja koda.
Prednosti korištenja lokalnih varijabli
- Vrijednosti varijabli ostaju nepromijenjene dok se zadatak izvodi osnovno je značenje lokalne varijable.
- Ako se jedna varijabla koja se izvodi istovremeno promijeni zbog mnogih zadataka, tada ishod može biti nepredvidiv. Međutim, deklaracija kao lokalne varijable će to riješiti.
- Možemo dodijeliti isto ime varijablama u različitim funkcijama.
- Kako se funkcija izvršava, memorija varijable se oslobađa.
Nedostaci lokalnih varijabli
- Metoda ispravljanja pogrešaka lokalne varijable vrlo je nezgodna.
- Popularne podatke trebalo je redovito prenositi jer dijeljenje podataka između modula nije izvedivo.
- Imaju vrlo mali spektar.
Što je korisnije?
Jednako bitna lokalna i globalna varijabla pri pisanju programa na bilo kojem jeziku. Međutim, velika količina globalne varijable može zauzeti veliku memoriju. Neželjeni prijelaz na globalne varijable postaje teško definirati. Također je mudro izbjegavati objavljivanje globalnih varijabli koje su neželjene.