函数在内存中存储的,因此,函数也有一个起始地址,实际上,函数名就是函数的起始地址。
函数指针的形式:返回值(*指针变量名)(形参1,形参2)
获取了该函数指针,相当于我们获取了函数,因此,可以通过这个指针来方便的操作函数。
例子如下:
-
-
-
-
-
-
-
-
-
#include
-
-
int sum(int a,int b){
-
return a+b;
-
}
-
-
int sub(int a,int b){
-
return a-b;
-
}
-
-
-
int operate(int a,int b,int (*p)(int,int)){
-
return p(a,b);
-
}
-
-
int main(int argc, const char * argv[]) {
-
int a=1,b=2;
-
int (*p)(int ,int)=sum;
-
int c=p(a,b);
-
printf("a+b=%d\n",c);
-
-
-
-
printf("%d\n",operate(a, b, sum));
-
printf("%d\n",operate(a, b, sub));
-
-
return 0;
-
}