c基础 - 函数指针定义

2019-03-02  本文已影响0人  世道无情

前言

变量:就是给内存地址取一个别名;

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();
}
上一篇 下一篇

猜你喜欢

热点阅读