Function Pointer in C
Function Pointer 是C語言最重要的高等特色之一,最常見的例子就是 State Machine 的實作以及排序演算法的 compare function 輸入。下面的程式碼只是要記錄一個基本的用法,方便之後使用參考,畢竟從來沒用過(雖然知道很久了)。 #include stdio.h > int sum( int, int ); int sub( int, int ); int mul( int, int ); int mod( int, int ); int (*op[4]) ( int, int ) = { sum, sub, mul, mod }; int main() { .... int a, b, i; .... a = 5; .... b = 3; .... for( i = 0 ; i ........ printf("Operation %d result: %d\n", i, (*op[i])(a, b) ); .... } .... return 0; } int sum( int a, int b ) { return a+b; } int sub( int a, int b ) { return a-b; } int mul( int a, int b ) { return a*b; } int mod( int a, int b ) { return a%b; }