Mit lehet kezdeni egy függvényre mutató pointerrel?
Egyik nap kiokítottak arról, hogy a függvényeknek is van memória címe, melyekre mutató mutatókat hozhatunk létre.
Amit nem értek, hogy ez mire jó. Addig eljutottam eddigi tanulmányaim során, hogy egy változónak is lehet mutatója és akkor a változó értékét módosíthatjuk mutatón keresztül is, vagy különböző adatszerkezeteknél mátrixoknál is vannak mutatók.
De mire jó egy függvényre mutató pointer? Én a függvények esetében a futtatás, "meghívás", túltöltés fogalmakkal vagyok tisztában.
Arra jó például, hogy ha írsz egy programot, ahol te adod meg, melyik függvényt hívod meg (mármint futás közben adod meg), akkor így meg tudod hívni.
Például ez hasznos lehet egy adatbázis-programnál is bizonyos esetekben, begépeled, hogy add, és meghívod az add nevű függvényt, ami után új értéket tudsz hozzáadni, vagy remove a törlésre, stb.
itt van standard C-ben a quick sort algoritmus megvalósítása.
Ugye alap probléma, hogy egy listába bármi lehet, nem csak számok, ezért az összehasonlításra a <, > nem alkalmas. Ha pl. egy olyan tömböt akarsz lerendezni, amiben egy struct Ember {char * nev; int magassag;}; tipus van, amit az embereket magassága szerint akarod lerendezni, akkor írsz egy függvényt, ami összehasonlít két embert magasság szerint, majd erre a függvényre mutató pointert adod át a qsort-nak. Mint ahogy a linken is szerepel a leírásban.
És voila: lerendezi az embereket.
Vagy írsz egy proginak egy UI-t, amin van egy gomb, ami kattintásra csinál valamit. Nyilván a gombnak meg kell valahogy mondani, hogy klikkelésre mit csináljon.
Kb ilyen és ehhez hasonló dolgokra alkalmas.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!