next up previous contents
Elõre: A változók alaptípusai Fel: C programozás a BORLAND Vissza: C programozás a BORLAND

Alapismeretek

A C programutasításokat kötetlen formátumban írhatjuk. Ez azt jelenti, hogy - az elõfeldolgozónak szóló utasításokat kivéve, lásd ott - a C nyelv sorfüggetlen, azaz egy sorba több utasítás is írható, illetve egy utasítás több sorba is törhetõ. Általános érvényû szabály, hogy ahol egy szóköz állhat, ott tetszõleges számú - legalább egy - tetszõleges szóközjellegû karakter (ún. whitespace) is állhat. Szóközjellegû karakter a szóköz, a tabulátor és az újsor karakter, illetve ilyen funkciójú a megjegyzés (comment) is. A megjegyzések /* karakterkombinációval kezdõdõ és */ kombinációval lezárt, tetszés szerinti karaktersorozatok. Ennek alapján a pelda.c forrásprogram alábbi két sorát

void main()
{
a következõ formában is írhattuk volna:
          void     /* komment */
main()      {
Modulnak nevezünk egy önállóan fordítható forrásnyelvi egységet. Az operációs rendszer szintjén a modul önálló file-ként jelentkezik. A C forrásmodulokat hagyományosan .c kiterjesztésû file-okban helyezzük el, kivéve az ún. include file-okat (header files, illetve fejlécfile-ok), amelyek .h kiterjesztést kapnak.   A   C   programok   egy,   vagy több modulból épülnek fel, a pelda.c egymodulos program. Ha egy többmodulos programban csak az egyik modulhoz tartozó forrásfile-t módosítjuk, akkor elegendõ csupán azt újrafordítani, majd a többi modullal - és a megfelelõ modulkönyvtárakkal - újraszerkeszteni. A különálló modulok forrásnyelvi szinten deklarációkon keresztül tartják egymással a kapcsolatot, amelyeket célszerûen include file-okba foglalunk.

A modulok fordításvezérlõ utasításokból, változó- és függvény-deklarációkból/definíciókból állnak. Az egyes tárolási egységek lehetnek kódgenerálók (ezekbe helyezzük a végrehajtható utasításokat), és lehetnek tárterület foglalók (adatok, változók). A kódgeneráló tárolási egységeket a C nyelvben általánosan függvényeknek nevezzük (szemben más programozási nyelvekkel, ahol különbséget tesznek a function és a procedure, illetve subroutine között). Egy tárolási egység deklarációja közli a fordítóprogrammal az adott egység jellemzõit, de nem jár együtt tárterület foglalással, az máshol (esetleg más modulban) történik meg. A deklarációt követõen az adott tárolási egységet a fordító az adott tulajdonságokkal rendelkezõ, létezõ egységnek tételezi fel (ha egy deklarációhoz sehol sem tartozik megfelelõ definíció, akkor a szerkesztés alkalmával hibaüzenetet kapunk). Ugyanazt a tárolási egységet többször is deklarálhatjuk egy forrásállományban mindaddig, amíg az egymást követõ deklarációk összhangban vannak egymással. Egy tárolási egység definíciójakor történik meg az adott egység tényleges elhelyezése. Tárterület-foglaló tárolási egység esetén lefoglalásra kerül a szükséges adatterület, míg kódgeneráló egység esetén az adott utasításokat fordítja le és helyezi el a fordító program. (Itt adjuk meg a programunk végrehajtható utasításait). Egy definíció értelemszerûen deklaráció értékû is, kivéve a kódgeneráló-egységek (függvények) definícióit, melyeket nem tekint teljes értékû deklarációnak a C fordító. Ezért célszerû minden forrásmodul elején elhelyezni az adott modulban definiálandó függvények teljes deklarációját (void main(void); sor a pelda.c-ben), ez egyben jól felhasználható dokumentálásra is. Ugyanannak a tárolási egységnek természetesen - a programhoz tartozó összes modult figyelembe véve - kizárólag egy helyen lehet definíciója (ezért "illetlenség" include file-ba definíciót helyezni).

A felhasználó azonosítás céljából a tárolási egységekhez azonosítókat (identifier) rendel. A C-ben az azonosító betûvel kezdõdõ, betûvel és/vagy számjeggyel folytatódó karaktersorozat. A kis- és nagybetûk különbözõnek számítanak (alfa, AlfA). Betûnek tekintjük az angol ABC betûin (a-z, A-Z) kívül az aláhúzás karaktert ('_') is, számjegyek a szokásos 0-9 karakterek. Az azonosítók hosszára nincs megkötés, de a BORLAND C++ fordító csak az elsõ 32 karaktert veszi figyelembe (más érték is beállítható az Options menüben). Javasoljuk, hogy a tárolási egységek elnevezésére használjunk csupa kisbetût tartalmazó azonosítókat, és ne kezdjük saját azonosítóinkat aláhúzás karakterrel.


next up previous contents
Elõre: A változók alaptípusai Fel: C programozás a BORLAND Vissza: C programozás a BORLAND