Változó
Változónak nevezünk a programozási nyelvekben egy olyan azonosítót (szót), amivel valamilyen adatra, vagy objektumra hivatkozunk.
Az emberi gondolkodás számára általában könnyebb egy probléma vagy feladat kezelése, ha annak összetevőit elnevezheti, és a nevek használatával tehet állításokat, vagy adhat utasításokat bizonyos részeknek (résztvevőknek). A mai programnyelvek zöme ezért lehetővé teszi, hogy a kezelni kívánt rendszer (program) alkotóelemeit elnevezzük.
A legegyszerűbb eset, ha a memóriának egy bizonyos rekeszét, amelyben adatot kívánunk tárolni, és késöbb visszaolvasni, egy szóval hivatkozzuk. A programnyelvben ez a szó változóként fog szerepelni, a memóriarekesz pillanatnyi tartalmát pedig a változó értékének nevezzük.
A változónevekre általában valamilyen könnyen betartható formai követelmény vonatkozik. Gyakran csak az angol ábécé betűit, aláhúzásjelet, és számjegyeket tartalmazhatnak, és általában nem kezdődhetnek számjeggyel. A pontos szabályok programozási nyelvenként változnak.
Sok nyelvben a változók nem csak a tárolás helyét, hanem az adat típusát (egész, lebegőpontos, szöveges) is meghatározzák. Az ilyen nyelveket típusos nyelveknek hívjuk. Általában a használat előtt ezeknél szükség van a változó típusának rögzítésére egy deklarációban.
Fajtái[szerkesztés]
- Láthatóság szerint
- Globális: a változó hivatkozható bármely programrészből. Gyakori használata általában nem javasolt, mert túl sok globális változó esetén nehéz átlátni a változók összefüggéseit, az egymástól távol levő programrészek egymásra hatását.
- Lokális: a változó csak egy alprogramon vagy blokkon belül érvényes, azon kívül nem hivatkozható. Az egymást tartalmazó blokkokban általában megengedett ugyanannak a változónévnek a használata. Ilyenkor csak a belső változó érhető el, "elfedi" a külsőt.
- Adat típusa szerint
- Skalár: A változó egy számot, logikai értéket, vagy más egyszerű adatot tartalmaz.
- Mutató: A mutatók olyan speciális változók, amiknek az értéke egy memóriaterület, vagy egy másik változó címe.
- Objekum: A változó tartalma a program egyik objektuma, vagy annak címe. Az objektum műveletei és adattagjai a változón keresztül használhatók.
- Rekord: A változó adattartalma egy rekord. A rekord mezői általában a
változó.mezőnév
formában hivatkozhatók. - Tömb: A változó értéke egy tömb, a tömb egyes elemei egymástól függetlenül használhatók. Ennek leggyakoribb jelölése a
<változó>[<index>]
forma. - Szöveges: A változó értéke egy karaktersorozat. A tároláshoz szükséges memória változhat futás közben, ezért gyakran mutatóval ábrázolják.
- Élettartam szerint
- Statikus: a változó a program futása során végig rendelkezésre áll.
- Automatikus: az alprogramok lokális változói általában ilyenek. Az alprogram hívásakor foglalnak helyet a veremben, majd az alprogram befejezése után már nem lesznek használhatóak. Rekurzív hívásoknál ezért egyszerre több, ugyanannak a változónak megfelelő, de különöbző mélységekhez tartozó adat is lehet a memóriában.
- Dinamikus: a program futásának csak egy részében hasznáható változó. A használat megkezdését általában jelölni szükséges (
new
). Élettartamának végét vagy jelölni kell (free
,delete
), vagy akkor történik, mikor a változó érvényességi körén kívül kerül, vagy egy hulladékgyűjtési folyamat számolja fel.