Po skompilowaniu funkcja jest umieszczona w pewnym miejscu w pamięci. Jej nazwa jest traktowana jako zmienna, która zawiera adres miejsca w pamięci, gdzie umieszczona jest ta funkcja.
Utożsamienie funkcji i wskaźnika pozwala na deklarowanie wskaźników do funkcji, co często bywa użyteczne.
int (*f)(int, float); int (*t[5])(int, float); void g( int (*)(double) );
W powyższym przykładzie
W celu podniesienia czytelności kodu można umieścić nazwy parametrów (są one ignorowane)
int (*f)(int ile, float dlugosc); int (*t[5])(int kierunek, float szybkosc); void g( int (*wskf)(double x) );