A InfoWiki wikiből
(Új oldal, tartalma: „<cim cim3="Változók, deklaráció" cim2="Magasszintű Programozási Nyelvek I." cim1="Imperatív, procedurális nyelvek alapjai" prev="mp1/page120" next="mp1/pag...”) |
Aktuális változat (2009. október 15., 09:42) (lapforrás) |
||
11. sor: | 11. sor: | ||
<path p1="Kezdolap|Kezdőlap" p2="EBooks|Jegyzetek" p3="mp1/Nyitolap|Tartalomjegyzék" | <path p1="Kezdolap|Kezdőlap" p2="EBooks|Jegyzetek" p3="mp1/Nyitolap|Tartalomjegyzék" | ||
xx="-" | xx="-" | ||
- | w1="mp2 | + | w1="mp2/Nyitolap|Gyakorlatok" w2="mp1/Tematika|Vizsgatematika" w3="cs/Blog|Programok C# nyelven" |
/> | /> | ||
Aktuális változat
Változók
A számítógépes programok adatokat dolgoznak fel. Egyik módja az adatok bevitelének, ha direktbe beírjuk a program szövegébe, ezek a literálok.
A másik mód, hogy valamilyen külső forrásból történő adatbeolvasás során visszük be az adatokat a programba. A külső adatforrás lehet billentyűzet, egér, a diszkünkön elhelyezkedő file, vagy akár SQl adatbázis, internetes kapcsolat, scanner, stb.
A külső forrásból érkező adatokat fogadni kell tudni a programban, erre alkalmasak a változók.
A változó készítése során megadjuk, hogy a programunk majd futása közben valamilyen adattal fog találkozni, melynek értéke a program írásakor még nem ismert. De a programot fel kell készíteni ezen adat fogadására, helyet kell foglalni a memóriában a majd később érkező adat részére. Ez nagyon hasonló folyamat ahhoz, mint amikor a barátunkkal moziba kívánunk menni, de késik, csak a film megkezdése után fog majd megérkezni. Addig is fenntartjuk, foglaljuk az ülőhelyét.
Deklaráció
Amikor az adattal később fogunk találkozni, egy változót kell előkészíteni az adat fogadására. Ehhez a változót deklarálni kell:
int a; double magassag; bool ferfi_e; string nev;
A fenti példák mindegyikében egy adott típusú változót deklaráltunk. A változódeklaráció két részből áll:
- típus, meg kell adni a későbbi adat típusát
- név, a változónknak nevet kell adni
A típust az alapján választhatjuk ki, hogy a későbbiekben feldolgozandó adat milyen lesz. Az eddig megismert típusok közül tudunk választani: string, bool, char, int, double, stb.
Minden változónknak nevet kell adni. A névadásról mindjárt hosszasabb fejtegetésbe kezdünk, de előrebocsájtva szögezzük le, hogy a változók neve beszédes kell legyen. Tehát ne hívjuk x22-nek, hacsak ez ténylegesen nem utal valamire. Ha az adat egy ember magassága lesz, akkor hívjuk magassag-nak. Ha hőmérsékletadat lesz, akkor hívjuk homerseklet-nek. Stb. Az a változónevet tekinthetjük beszédesnek, ha ez egy háromszög háromoldala közül jelöli az egyik oldalt (a további oldalakat b és c névvel fogjuk tisztelni). Egy kör sugarát tároló változót hívhatunk r-nek, de akár sugar-nak is (angolszász környezetben inkább a radius név javasolt).
Névadási szabályok
A változó neve (általánosabban azonosítónév) kezdődhet
- betűvel
- aláhúzással
és folytatódhat
- betűvel
- számjeggyel
- aláhúzással
Tiltott karakternek minősülnek
- szóköz
- kötőjel (minusz jel)
- írásjelek (vessző, pont, stb)
- egyéb szimbólumok (kukac jel, plusz jel, stb)
A név legalább 1 karakter hosszú kell legyen.
A legfontosabb kérdés, hogy mit tekintünk betű-nek. A legtöbb programozási nyelv az angol ABC betűit tekinti betűnek. Ebben a környezetben a magasság név nem lehet változó neve, mert magyar ékezetes betűt tartalmaz.
A mai, modernebb programozási nyelvek nem tiltják az ékezetes betűk jelenlétét az azonosítókban. Ilyen nyelv a C# is. Vagyis szabad magyar (vagy egyéb szláv, de akár kínai) karaktereket is használni a változók neveiben. De nem ajánlott. Több okból...
A forráskód maga is UNICODE kódtábla szerint, UTF-8 kódolással van tárolva. Ez engedi meg a nemzeti ékezetes és egyéb karakterek jelentését a forráskódban. Ugyanakkor a képernyőn történő megjelenéséért a számítógépre telepített betűkészletek a felelősek. E miatt egy magyar programozó által magyar ékezetes betűkkel megtűzdelt forráskódot el szabad küldeni John Smith-nek az USA-ba, akinek a C# fordítója el fogja tudni fordítani a kódot az UTF-8 miatt, de ha John a képernyőjén is meg akarná jeleníteni a forráskód tartalmát, akkor az ő angol nyelvű windows-ához telepített angol fontkészletek nem feltétlenül tartalmaznák az á,é,í,ő,ű, stb karakterek mindegyikének a képét. E miatt a látvány legalábbis zavaros lenne.
Az azonosítók hosszára nincs különösebb megkötés, legalább 1 karakter hosszúak, de tetszőleges hosszú is lehet. Az alábbi példa helyes (bár kevés haszna van):
int aFonokTestmagassagaMillimeterbenCipoNelkul;
Ugyanakkor van egy fontos szabály, amely a C alapú nyelvek jellemző szabálya: a kis-és-nagy betűk különbözőknek minősülnek. Tehát a CipoMeret és a cipoMeret, valamint a cipomeret nevek különbözőnek minősülnek!