前言
變量:就是給內存地址取一個別名;
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();
}