O functie este stocata in memorie la o adresa, exact ca o
variabila iar adresa functiei respective se obtine utilizand numele
functiei, fara paranteze si parametri formali, exact cum utilizam numele unui tablou pentru a asigna
adresa sa unui pointer la tipul elementelor tabloului.
Faptul ca o functie este stocata (incarcata) de compilator la o anumita
adresa permite utilizarea unui pointer la functia respectiva.
Sintaxa declararii
unui pointer la functie:
tip_return_functie (* ptrf)(
lista_de_parametri_formali_ai_functiei );
Prima
pereche de paranteze este necesara intrucat, in absenta acestor paranteze,
declaratia respectiva ar fi prototipul unei functii numite ptrf cu lista specificata de parametri si care intoarce un pointer
la tip_return_functie.