logo

Mi az a globális változó?

A változó a program által vezérelhető tárterülethez hozzárendelt név. A változó típusa határozza meg a változó memóriájának méretét és konfigurációját.

A változóba beilleszthető érték tartományát az érték beszúrása előtt számítjuk ki, mivel az érték beszúrása előtt el kell dönteni a változó típusát.

Változók köre

Egy változó hatóköre szó szerint egy változó élettartama. Ez egy kódblokk, amelyben egy változó érvényes vagy még él.

 function poo() { var a; } 

Az 'a' függvényen belül deklarálunk egy 'poo' változót. A változó hatóköre ezen a függvényen belül marad, és nem használható azon a függvényen kívül.

Három helyen használhatjuk a változót a programozásunkban.

  • Egy függvényben vagy egy blokkon belül akkor azt mondjuk, hogy helyi változók
  • Ha az összes függvényen kívül használjuk, akkor Globális változónak nevezzük
  • Ha a függvényparaméterek definíciójában használjuk, akkor formális paramétereknek nevezzük.

Fő különbség

  • A függvényen belül deklarált változót lokális változónak, míg ha a függvényen kívül deklarált változót globális változónak nevezzük.
  • Másrészt, ha a függvény megkezdte a végrehajtást, és a függvény befejezésekor elveszik, akkor globális változók jönnek létre a végrehajtás megkezdésekor, és elvesznek, amikor a program véget ér. Lokális változók jönnek létre.
  • A lokális változó nem tartalmazza az adatmegosztást, míg az adatmegosztást a globális változó adja.
  • A lokális változókat a verem tárolja, míg a globális változót a programozó egy fix helyen tárolja.
  • A lokális változókhoz paraméterekre van szükség, míg a globális változót nem kell átvinni.
Paraméter Helyi Globális
Hatály Egy függvény belsejében. A hatókör a funkción kívül esik.
Érték Ha az érték nincs inicializálva, akkor szemét értéket ad. Ha az érték nincs inicializálva, akkor alapértelmezés szerint nullát ad.
Élettartam Létrejön, amikor a függvény elindítja a végrehajtást, és elveszik, amikor a függvények befejeződnek. Létrejön a program globális végrehajtásának megkezdése előtt, és elveszik, amikor a program leáll.
Adatmegosztás Nem lehetséges. Lehetséges.
Paraméterek Kívánt. Nem szükséges.
Hozzáfért: Lokális változók A globális változókhoz az egész programban hozzáférhetünk.
Memória tárolás A veremben. A számítógép által kijelölt fix helyen.

Helyi változó

A helyi változó a programozási blokkban vagy alprogramokban a változó deklarált formájaként van megadva. A lokális változó megmarad a függvény blokkjának végrehajtása előtt. Ezt követően automatikusan elvész.

Példa a helyi változóra

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

Itt az 'x' és 'y' helyi változók

Globális változó

A kód függvényén vagy blokkján kívül megadott változót Globális változónak nevezzük. Globális hatókörrel rendelkezik, ami azt jelenti, hogy a program élettartama alatt megőrzi relevanciáját. Ezért a programban megadott bármely szolgáltatás hozzáférhet a programon belül, kivéve, ha árnyékos.

Példa a globális változóra

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

Itt az 'x' és 'y' globális változók.

A globális változók használatának előnyei

  • A globális változó egy program összes funkciójából vagy moduljából elérhető.
  • Csak egy egyszeri globális változót kell deklarálnunk a modulokon kívül.
  • Akkor használatos, ha a felhasználónak újra és újra ugyanazokat az adatokat kell elérnie a programban.

A globális változók használatának hátrányai

  • Ennyi változót globálisnak deklarálnak, majd a memóriában maradnak, amíg a program végrehajtása be nem fejeződik. Ez kiválthatja az Elfogyott a memória problémát.
  • Bármely funkció módosíthatja az adatokat. A programban írt bármely utasítás megváltoztatja a globális változó értékét. Többfeladatos környezetekben ez kiszámíthatatlan eredményeket kínálhat.
  • Módosítanunk kell az összes modult, ahol el vannak nevezve, ha a globális változók leállnak a kód átalakítása miatt.

A helyi változók használatának előnyei

  • A változók értéke változatlan marad a feladat futása közben, ez a Local változó alapvető jelentése.
  • Ha egyetlen, párhuzamosan futó változót sok feladat megváltoztat, akkor az eredmény megjósolhatatlan lehet. A helyi változóként való deklarálás azonban megoldja.
  • Különböző függvényekben ugyanazt a nevet rendelhetjük a változókhoz.
  • A függvény végrehajtása során a változó memóriája felszabadul.

A lokális változók hátrányai

  • A helyi változók hibakeresési módszere nagyon bonyolult.
  • A népszerű adatokat rendszeresen továbbítani kell, mivel a modulok közötti adatmegosztás nem kivitelezhető.
  • Nagyon kicsi a spektrumuk.

Mi a hasznosabb?

Egyformán lényeges helyi és globális változó, ha bármilyen nyelven írunk programot. A globális változó nagy része azonban hatalmas memóriát foglalhat el. Egyre nehéz meghatározni a globális változókra való nem kívánt átmenetet. Célszerű elkerülni a nem kívánt globális változók bejelentését is.