Ang mga ito ay hindi na mahirap.Isang function vanturo lang ay naglalaman ng address ng entry point ng function.
Kung ikaw ay isang function tulad ng:
int myfunction (int x);
ipinapahayag mo ang isang function ng vanturo na tumutugma sa mga argumento:
int (* myfunctionpointer) (int x);
Ang mga braket tukuyin ito bilang isang vanturo function.
Pagkatapos ay maaari mong italaga ang entry address ng iyong function na ito.
myfunctionpointer = myfunction; / * isang paraan * /
myfunctionpointer = &myfunction; / * Ang isa pang paraan * /
Pagkatapos tawag mo ito nais mong tawagin ang function:
answer = myfunctionpointer (argument_x);
Mayroong maraming mga lugar sila ng tulong sa pamamagitan ng pagsulat matikas afficient code.
Ang isang simpleng halimbawa ay sa isang sistema kung saan ang mga menu selection ay isang index sa isang array ng functionpointers.
Ito ay isang maliit na halimbawa ng isang pahayag na lumipat ipatupad sa isang index sa isang array ng mga payo ng estado function.Ang mga bumalik mula sa tinatawag na function ay ang estado lumipat.Code:/*--- Estado Machine ---*/enum ESTADO (IDLE_S = 0, MASSAGE_S, LUMBAR_S, BOLSTER_S, ERROR_S);/*--- Estado makina function.
---*/enum ESTADO idle (walang laman);
enum ESTADO massage (walang laman);
enum ESTADO panlikod (walang laman);
enum ESTADO magbolster (walang laman);
enum ESTADO error_state (walang laman);/*--- Program entry point ---*/magpawalang-bisa pangunahing (walang laman)
(
enum ESTADO (* const Pump_State []) (walang laman) = (idle, massage, panlikod, magbolster, error_state);
enum ESTADO Estado = IDLE_S;para sa (;

(
Estado = Pump_State [State] (); / * execute ng estado makina * /
)
)/*--- Dulo ng mga File ---*/