Személyes eszközök
Keresés

 

A InfoWiki wikiből


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


A C#-beli azonosítók betűvel vagy aláhúzással kezdődnek, betűvel, számmal, aláhúzással folytatódhatnak. Legalább 1 karakter hosszúak.


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.

A C#-ban az azonosítók neveiben szerepelhetnek magyar ékezetes betűk, de ezek használata nem javasolt. Amennyiben a forráskódot más nemzetiségű programozók felé is publikáljuk, megosztjuk, nekik megjelenítési problémáik lesznek. A programozók e miatt kerülik az ékezetes betűk jelenlétét a forráskódokban.


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!

A C# azonosítók tetszőleges, akár több száz karakter hosszúak is lehetnek, bár a nagyon hosszú nevek nem jellemzők (és kerülendők). Ugyanakkor a C# azonosítók kisbetű/nagybetű érzékenyek, vagyis amennyiben később hivatkoznánk egy azonosítóra, kisbetű-nagybetű helyesen kell azt újra beírnunk a forráskódban. Az ilyen programozási nyelveket Case-sensitive nyelveknek nevezzük.


Hernyák Zoltán
A lap eredeti címe: „http://wiki.ektf.hu/wiki/Mp1/page130
Nézetek
nincs sb_54.211.135.32 cikk