函數指標(function pointer):就是一個指向函數的指標,指標必須先決定接收的參數資料型態跟回傳值這兩種東西,舉例來說,假設想宣告一個函數指標為fptr,而fptr的參數資料型態為float,回傳值為void,則我們必須這樣宣告它。
void (*fptr)(float);
要將fptr指向某個函數,只要將函數名稱給值給fptr即可。函數名稱事實上就是個常數指標(constant pointer),所存的內容就是該函數在記憶體中占據的記憶體位址的開頭。fptr所指向的函數,照正常所學的C語言教學,fptr所指向的函數必須也是參數資料型態為float,回傳值為void,不過事實上函數指標並非那麼嚴謹。下面用一段code舉三種例子來說明。