所谓函数指针,就是指向函数的指针。函数和变量一样,存储在程序内存,如果知道函数的起始地址,就可以调用相应的函数。这就是函数指针的基本原理,通过一个指针来指向函数的存储地址,然后通过该指针来操作函数。
关于函数指针的简介,网上都可以搜到一箩筐,我想用一个简单的例子来讲述函数指针的用法。如下:
1. 申明一个函数指针FP,指向int Test(int, int);的函数;
2. 可以在别的函数中,通过FP来调用int Test(int, int);函数;
typedef int(*FP)(int, int); int Max1(int x, int y) { return x > y ? x : y; } int Max2(int x, int y, int z, FP fp) { int m = (*fp)(x, y); return m > z ? m : z; } int main() { int max = Max2(5, 2, 3, Max1); return 0; }