函数指针 其实就是一个指针 它的类型是一个函数
指针函数 其实是一个函数 ,它的返回值类型是一个指针
所以我们明确了这个概念就很好区分了。下面我写了一个例子
函数指针:
int (*method)(int,int); //这是一个函数指针, 这个函数 返回值是int ,参数是 两个int ,
满足该条件的函数都可以 赋值给这个指针
int add(int a,int b){
return a+b;
}
method = &add ; //取这个函数的地址
或者
method = add
method(1,2);// 就间接的调用了 add 函数
函数指针的拓展:
由于函数指针其实一种指针 所以它 可以作为 方法的参数 ,所以 我们可以理解为 这个是在java 种的抽象方法 / 回调
int add(int a,int b){
return a+b;
}
int add_3(int(*me)(int,int) ,int i,int y){
return me(i,y);
}
//调用的时候传入 add 这个方法 就可以计算
add_3(add,1,2);
指针函数
int * add_2(int a,int b){
int sum = a+b;
return ∑
}
int * result_p = add_2(3,5);
//返回值 是结果的指针