Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Függvények, mutatók Csernoch Mária.

Hasonló előadás


Az előadások a következő témára: "Függvények, mutatók Csernoch Mária."— Előadás másolata:

1 Függvények, mutatók Csernoch Mária

2 Függvények függvény definíciója
az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket függvény helyettesítési értéke x  f(x) Df  Rf definíció szerint egy értéket adnak vissza C-ben egy értéket adnak vissza értéket nem adnak vissza több értéket adnak vissza

3 Egy visszaadott érték síkidomok kerülete, területe
testek felszíne, térfogata n-jegyű szám beolvasása egész szám hossza egész szám számjegyeinek az összege n-tagú sorozatok összege (faktoriális, hatványozás) végtelen sorok összege véletlen szám

4 Pointerek, mutatók minden változónak van címe
annak a memóriarekesznek a címe, amellyel kezdődően hely van foglalva számára a memóriában változó címe tárolható címtípusú változókban tárolhatók a címek pointerek, mutatók

5 Pointerek definiálása
<típus> * <pointer> pl. int *p; egy int típusú változó címét tartalmazhatja double *q; egy double típusú változó címét tartalmazhatja

6 Pointer operátorok & * pl. a változó címére hivatkozunk
a pointeren keresztül arra a változóra hivatkozunk, amelyre mutat (a pointer által mutatott objektum, a mutatott érték előállítása) *<pointer> pl. int a=5, *p; p = &a; // p pointer az a változóra mutat printf(”%d\t%d\t%d\n”,p, a,*p); printf(”%X\t%X\t%X\n”,p, a,*p);

7 Mit csinál? int k1=1, k2=2, k3=3, k4=4, k5=5; int *p; p=&k1;
printf("%X\t%d\n",p,*p); printf("%X\t%X\t%X\t%X\t%X\n",p,p+1,p+2,p+3,p+4);

8 Tárolás cím érték név 22FF6C 1 k1 pointer p

9 Tárolás cím érték név 22FF6C 1 k1 22FF70 pointer p p+1

10 Tárolás cím érték név 22FF6C 1 k1 22FF70 22FF74 pointer p p+1 p+2

11 Tárolás cím érték név 22FF6C 1 k1 22FF70 22FF74 22FF78 pointer p p+1

12 Tárolás cím érték név 22FF6C 1 k1 22FF70 22FF74 22FF78 22FF7C pointer

13 Függvények a függvény definícióban szereplő tárolók
formális paraméterek formális argumentumok paraméterek a függvényhívás során megadott értékek aktuális paraméter aktuális argumentumok argumentumok

14 Függvények paraméterezése és a függvényérték
a paraméterek deklarációs sorrendje követi a pareméterek sorrendjét semmilyen összevonás sem lehetséges a deklarált paramétereket a függvényen belül a függvény lokális változóként használja, a függvényen kívülről nem érhetők el a visszaadott érték az utasításban szereplő kifejezés értéke return kifejezés;

15 Függvények paraméterezése és a függvényérték
ha a függvény definíciójában nem adjuk meg a visszatérési típust, akkor alapértelmezés szerint int típusú lesz a függvény a void típus felhasználásával olyan függvényeket készíthetünk, amelyek nem adnak vissza értéket

16 Függvényhívás a függvényhívás olyan kifejezés, amely átadja a vezérlést és az argumentumokat az aktualizált függvénynek a C, C++ nyelveken az argumentumok érték szerint adódnak át az argumentumok másolatát veszi fel a megfelelő paraméter értékként következmény a függvényen belül a paraméteren bármilyen műveletet végezhetünk, annak nincs kihatása a híváskor megadott argumentumra átadott érték változónak a címe függvényből „kihivatkozva” megváltoztathatjuk a változó értékét

17 Mit csinál? int i; int k[5]; int *kt; kt=k; for (i=0; i<5; i++){
k[i]=i; printf("%d\t",k[i]); printf("%d\t",kt); printf("%d\t",kt+i); printf("%d\n",*(kt+i)); }

18 Mit csinál? int i; int k[5]; int *kt; kt=k;
for (i=0; i<5; i++){ k[i]=i; printf("%d\t",k[i]); k[i]=i%2; printf("%d\t",k[i]); printf("%d\t",kt); printf("%d\t",kt+i); printf("%d\n",*(kt+i)); }

19 Mit csinál? int i; char c, *p1=&c; float *p2=(float *)&c;
printf("%X\n%X\n\n",p1,p2); for (i=0; i<20; i++){ printf("%X\t%X\n",p1+i,p2+i); }

20 Mit csinál? int i; char c, *p1=&c; float *p2=(float *)&c;
printf("%X\n%X\n\n",p1,p2); for (i=0; i<20; i++){ printf("%X\t%X\n",p1+i,p2+i); }

21 Lépésköz char float cím név p1 p2 22FF2B c p1+1 22FF2C p1+2 22FF2D
22FF2E p1+4 p2+1 22FF2F p1+5 22FF30 p1+6 22FF31 p1+7 22FF32 p1+8 p2+2 22FF33


Letölteni ppt "Függvények, mutatók Csernoch Mária."

Hasonló előadás


Google Hirdetések