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.