C program felépítése
A Wikipédiából, a szabad lexikonból.
A legegyszerűbb C program így néz ki:
main() { printf("Halló világ!\n"); }
C program tartalmaz függvényeket és változókat. A C függvények hasonlítanak a FORTRAN függvényeire (function) és alrutinjaira (subroutine) vagy a Pascal függvényeire (function, procedure). A main()
egy speciális függvény, ahol a C program „elkezdődik”, ez azt jelenti, hogy minden C programnak tartalmaznia kell egy main()
függvényt.
Általában a main()
„meghív” más függvényeket, a feladatok elvégzésére. Vagy a programozó írja ezeket a függvényeket, vagy egy külső függvénygyűjteményből (könyvtár, angolul library) kerülnek ki; az utóbbiak elérhetősége ún. fejléc-állományok (header) beillesztésével biztosítható, az #include
előfordító (preprocessor) parancs segítségével. Bizonyos könyvtári függvények, mint a printf()
a fenti példában, a C szabvány által definiáltak, ezek a szabvány könyvtárban megtalálható függvények. (Egy olyan C implementációt, amely tartalmaz minden szabványos könyvtári funkciót, „befogadott implementáció”-nak nevezünk. Nem minden implementációban található meg minden függvény, mert azok nem használhatók az adott operációs rendszeren belül.) Más könyvtárak plusz lehetőségeket biztosítanak, pl. grafikus, bonyolult matematikai megoldások valamit az adott platform sajátosságait kihasználó függvények alakjában.
A függvények adhatnak vissza értéket az őt meghívó környezetnek. Emellett azokat a paramétereket, melyeket cím szerint kap meg, szintén meg tudja változtatni.
void swap(int *a,int *b){ int *a, *b; int tmp; tmp = *a; *a = *b; *b = tmp; } hívás: int aa = 12; int bb = 13; swap(&aa,&bb); Ezután aa értéke 13,bb-é pedig 12.
A main()
függvény hívója az operációs rendszer maga. Emiatt, a „Hello, world!” példában fent, az operációs rendszer 0-t (nulla) kap vissza, amikor a program befejeződik. (A printf függvény visszaadja a kiírt karakterek számát, mely ebben az esetben nem kerül feldolgozásra.)
Egy C függvény definíciója tehát a visszaadott érték típusa (void
ha nincsen érték), egy egyedi név, a paraméterek listája zárójelben (void
ha nincsenek) és a függvény törzse kapcsos zárójelek között.
Példa:
int osszeado(int a, int b){ return (a+b); }