Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
Objektum orientált programozás
2. Függvények és mutatók Nagy Szilvia
2
Függvények Sorrendben kell a függvényeket definiálni, a main rész előtt. A main is csak egy speciális függvény void, int, char… , vagy bármilyen változótípus lehet a függvény kimenete A függvény argumentumai tetszőleges típusú változók lehetnek, (akár üres bemenetel is előfordulhat) return adja meg a visszatérési értékeket.
3
Függvények Definíciójuk:
void függvény(int argumentum1, int argumentum2){ parancsok; } Meghívásuk: függvény(változó1, változó2); példák
4
Függvények – változók Helyi változók: csak a függvényeken belül érvényesek. Deklarálásuk a függvényen belül történik. Globális változók: minden függvény eléri őket, meg tudja őket változtatni. Deklarálásuk a függvények előtt történik.
5
Függvények fejléce A program elején elegendő csak a függvény bemeneti és kimeneti változóinak típusát és a függvény nevét – azaz egy prototípust – megadni, a függvény teljes leírása kerülhet a program végére is. A program így áttekinthetőbb lesz, könnyen megtalálható a main rész. kimeneti típus fvnév(argumentumok); … (programtörzs) a teljes függvényleírás (ismételt fejléccel)
6
Függvények fejléce hagyományos, program eleji leírás:
7
Függvények fejléce fejléces, program végi leírás:
8
Függvények külön állományban
Egy-egy függvény több program számára is szükséges lehet. Ha külön fájlban van a függvény, elegendő csak meghívni, nem szükséges a teljes függvényt a programba másolni, megteszi helyettünk a fordító. fejlécfájl – típusa .h függvényfájl – típusa .c programban szerepel, hogy #include ”fvfájlnév.h”
9
Függvények külön állományban
Főprogram
10
Függvények külön állományban
Fejléc (header):
11
Függvények külön állományban
Fejléc (header): Függvényfájl:
12
Függvények külön állományban
Fordítás során –c kapcsolóval csak fordítjuk a .c típusú fájlokat, majd az így kapott .o kiterjesztésű fájlokat újrafordítjuk. pl. gcc –c atlagolofvdarabolt.c gcc –c atlagolo.c gcc atlagolofvdarabolt.o atlagolo.o
13
Mutatók Csak a memóriatartomány címére mutat
Gépfüggő méret: a memóriacímkék mérete bitekben. Típusok: int *, char*, … Ha egy adott változóra szeretnénk mutatni: mutató=&adat; Meghívásuk: Ha a mutató értékét szertnénk: mutató; Ha amire mutat: *mutató;
14
Mutatók Tömböknél a tömb első elemére mutat rugalmas hosszúságú tömbök
Mutatók alkalmasak függvények paramétereinek is: előny, hogy nem kell magát a változót elérhetővé tenni a függvény számára, így tulajdonképpen a mutatók helyettesíthetik a globális változókat. Sehova nem mutató NULL.
15
Mutatók – helyi és globális változók
!! a kimenet: a függvény nem fér a lokális változóhoz.
16
Mutatók – helyi és globális változók
a kimenet: értékadással a függvény kimenetét írtuk a szam változóba
17
Mutatók – helyi és globális változók
a kimenet: 13 és a globális változókat minden függvény módosíthatja.
18
Mutatók – helyi és globális változók
a kimenet: 13 és 38 pointerekkel hívjuk meg a lokális változókat
19
Mutatók – stringek Tömböknél a tömb első elemére mutat
rugalmas hosszúságú tömbök Karakterláncokra általában a mutatójukkal hivatkozunk, tipikusan rugalmas hosszúságú tömb a karakterlánc, csak az első elemre kell mutatni, a többi karakter megtalálható, és addig tart, amíg 0 karaktert nem talál. Veszély: ha nincs nulla karakter futási hiba.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.