Függvény pointer
Függvény pointer¶
Függvényre mutató pointer¶
Eddig kétféleképpen közelítettük meg a pointer típusú változót:
- Első közelítésben a
p
pointer típusú változó értéke egy meghatározott típusú dinamikus változó. - A másik szerint a
p
pointer típusú változó értéke egy másik változóhoz tartozó memóriacím.
A harmadik megközelítésben a pointer egy részalgoritmusra is mutathat, amelyet aktuális argumentumokkal végrehajtva a megadott típusú eredményhez jutunk. Ez utóbbi esetben is minden, a pointerekre megengedett művelet elvégezhető: szerepelhet értékadásban, elhelyezhető egy tömbben vagy rekordban, átadható egy függvénynek aktuális paraméterként, lehet egy függvény visszatérési értéke, stb.
Ilyen típust egyszerűen úgy deklarálhatunk, hogy a megfelelő függvényfejben a függvény azonosítóját pointerre cseréljük, vagyis a típus azonosítója elé *
-ot írunk.
Mivel a *
alacsonyabb priorítású, mint a ()
(függvényhívás művelet, amivel együtt használjuk), ezért a dereferenciát zárójelpárba kell tenni.
Legyen adott egy függvény, például:
1 2 3 |
|
Egy ilyen függvényre mutató pointer típus definíciója:
1 |
|
És a használata:
1 2 3 4 |
|