前言
变量:就是给内存地址取一个别名;
1. 函数指针
函数指针用的最多的就是 回调,在 java中一般是通过对象、通过接口来回调,在c和c++中就是通过 函数指针来实现回调
2. 格式
方法的返回值( * 方法的名称)(方法的参数)
比如:void(*add_p)(int, int);
3. 示例代码如下
// 函数指针,相当于 回调
// 两个数相加
void add(int num1 , int num2){
printf("num1 + num2 = %d\n" , (num1+num2)); // num1 + num2 = 3
}
// 两个数相减
void mins(int num1, int num2){
printf("num1 - num2 = %d", (num1 - num2)); // num1 - num2 = -1
}
// 参数1:方法指针(类似于java中的接口),两个数
void operate(void(method)(int,int) , int num1 , int num2){
method(num1, num2);
}
void main(){
// 在这个Simple.cpp中可以直接用下边方式调用;
add(1,2);
// 但是想要在另一个文件调用add方法,就不能这么调用了,其实另外一个文件也是可以调用这个方法的,需要把 函数指针传给另一个方法就可以
// 方法指针的定义格式如下:
// 方法的返回值* (方法的名称)(方法的参数)
// void* (add_p)(int, int);
operate(add , 1 , 2);
operate(mins, 1, 2);
getchar();
}