Fonksiyon işaretçisi, bir fonksiyonu bildirim referansını kullanarak çağırabilmemizi sağlar. Yani, bir fonksiyonu parametrik olarak çalıştırma imkanımız olur.
void (* func_name) ( ) = function_name;
Bunun bendeki en sık kullanma amacı Fonksiyon Listesi hazırlamak:
int funcA(void); int funcB(void); int funcC(void); int funcD(void); int funcE(void); int funcF(void); int (* functionList[]) () = { funcA, funcB, funcC, funcD, funcE, funcF }; // bu bildirimin cümle içinde kullanımı şöyle: ret_val = functionList[list_index]();
Her ne kadar bir kaynak dosyası içinde kullanılacak bir fonksiyon için deklarasyon yazmak zorunda olmasak da, fonksiyon listesi hazırlarken deklarasyon yazmalıyız. Deklarasyon bize yürütme kısmından önce o fonksiyona dair işaretçiyi kullanma şansı verir. Bu şekilde liste bildirimi yaparken liste elemanlarını sabit olarak kullanabiliriz.