logo

Čo je globálna premenná?

Premenná je názov pridelený úložnému priestoru, ktorý môže program ovládať. Typ premennej určuje veľkosť a konfiguráciu pamäte premennej.

Rozsah hodnoty, ktorú je možné vložiť do premennej, sa vypočíta pred vložením hodnoty do nej, pretože pred vložením hodnoty do nej je potrebné rozhodnúť o type premennej.

Rozsah premenných

Rozsah premennej je doslova životnosť premennej. Je to blok kódu, v ktorom je premenná platná alebo stále nažive.

 function poo() { var a; } 

V rámci funkcie 'a' deklarujeme premennú 'poo.' Rozsah tejto premennej zostáva v rámci tejto funkcie a nemožno ho použiť mimo tejto funkcie.

Existujú tri miesta, kde môžeme použiť premennú v našom programovaní.

  • Vo funkcii alebo vnútri bloku sa potom hovorí, že ide o lokálne premenné
  • Ak sa používa mimo všetkých funkcií, nazýva sa globálne premenné
  • Ak sa používa v definícii parametrov funkcie, potom sa nazýva formálne parametre.

Hlavný rozdiel

  • Premenná, ktorá je deklarovaná v rámci funkcie, sa nazýva lokálna premenná, zatiaľ čo ak je premenná deklarovaná mimo funkcie, je známa ako globálna premenná.
  • Na druhej strane, keď sa funkcia začala vykonávať a po dokončení funkcie sa stratí, globálne premenné sa vytvoria pri spustení vykonávania a stratia sa, keď sa program skončí. Vytvárajú sa lokálne premenné.
  • Lokálna premenná nezahŕňa zdieľanie údajov, zatiaľ čo zdieľanie údajov je dané globálnou premennou.
  • Lokálne premenné sú uložené v zásobníku, zatiaľ čo globálna premenná je uložená programátorom na pevnom mieste.
  • Pre lokálne premenné sú potrebné parametre, zatiaľ čo globálnu premennú nie je potrebné prenášať.
Parameter Miestne globálne
Rozsah Vo vnútri funkcie. Rozsah je mimo funkcie.
Hodnota Ak hodnota nie je inicializovaná, zobrazí sa hodnota odpadu. Ak hodnota nie je inicializovaná, predvolene sa zobrazí nula.
Život Vytvorí sa, keď sa funkcia spustí, a stratí sa, keď sa funkcie ukončia. Vytvorí sa pred spustením globálneho vykonávania programu a stratí sa, keď sa program ukončí.
Zdieľanie údajov Nemožné. možné.
Parametre Požadovaný. Nevyžaduje sa.
Prístup: Lokálne premenné V rámci programu máme prístup ku globálnym premenným.
Pamäťové úložisko Na stohu. Na pevnom mieste podľa pridelenia počítača.

Miestna premenná

Lokálna premenná je špecifikovaná v programovacom bloku alebo podprogramoch ako forma deklarovanej premennej. Lokálna premenná pretrváva pred vykonaním bloku funkcie. Potom sa automaticky stratí.

Príklad lokálnej premennej

 public int sum(){ int x =4; int y=5; return x+y; } 

Tu sú „x“ a „y“ lokálne premenné

Globálna premenná

Premenná, ktorá je špecifikovaná mimo funkcie alebo bloku kódu, je známa ako globálna premenná. Má globálny dosah, čo znamená, že si zachováva svoj význam počas životnosti programu. Akákoľvek funkcia špecifikovaná v programe k nej teda môže pristupovať v rámci programu, pokiaľ nie je zatienená.

Príklad globálnej premennej

 int x =4; int y=5; public int add(){ return x+y; } 

Tu sú „x“ a „y“ globálne premenné.

Výhody použitia globálnych premenných

  • Ku globálnej premennej je možné pristupovať zo všetkých funkcií alebo modulov v programe.
  • Potrebujeme iba deklarovať jednorazovú globálnu premennú mimo modulov.
  • Používa sa, keď používateľ potrebuje znova a znova pristupovať k rovnakým údajom v celom programe.

Nevýhody používania globálnych premenných

  • Toľko premenných je vyhlásených za globálne, potom zostávajú v pamäti, kým sa nedokončí vykonávanie programu. To môže vyvolať problém nedostatku pamäte.
  • Každá funkcia môže zmeniť údaje. Každý príkaz, ktorý je napísaný v programe, zmení hodnotu globálnej premennej. V prostrediach s viacerými úlohami to môže ponúknuť nepredvídateľné výsledky.
  • Musíme upraviť všetky moduly, kde sú pomenované, ak sa globálne premenné prestanú používať kvôli refaktorovaniu kódu.

Výhody použitia miestnych premenných

  • Hodnoty premenných zostávajú počas úlohy nezmenené, to je základný význam lokálnej premennej.
  • Ak sa jedna premenná, ktorá beží súčasne, zmení mnohými úlohami, výsledok môže byť nepredvídateľný. Vyrieši to však deklarácia ako lokálna premenná.
  • Rovnaký názov môžeme priradiť premenným v rôznych funkciách.
  • Pri vykonávaní funkcie sa pamäť premennej uvoľní.

Nevýhody lokálnych premenných

  • Metóda ladenia lokálnej premennej je veľmi zložitá.
  • Populárne údaje je potrebné pravidelne prenášať, pretože zdieľanie údajov medzi modulmi nie je možné.
  • Majú veľmi malé spektrum.

Čo je užitočnejšie?

Rovnako dôležitá lokálna a globálna premenná pri písaní programu v akomkoľvek jazyku. Veľké množstvo globálnej premennej však môže zaberať obrovskú pamäť. Nežiaduci prechod na globálne premenné sa stáva ťažko definovateľným. Je tiež rozumné vyhnúť sa oznamovaniu globálnych premenných, ktoré sú nežiaduce.