C语言的函数指针类型和回调函数-源码

来源:互联网 发布:2t硬盘恢复数据多少钱 编辑:程序博客网 时间:2024/06/06 06:40
#include<stdio.h>
#define P printf


//定义一个加法函数
int add(int a,int b)
{
return a+b;
}


int sub(int a,int b)
{
return a-b;
}


//定义一个指向函数指针的类型名fun   int a,int b
typedef int(*fun)();


//回调函数
void return_fun(int a,int b,fun p)  //int (*p)(int a,int b)
{
int sum=0;
sum=p(a,b); 
P("sum=%d\n",sum);
}




void main()
{
int a=10,b=15;
fun huidiao=return_fun;
    fun ad=add;
//ad此时为函数指针变量 可以指向任意函数

    P("%d+%d=%d\n",a,b,ad(a,b));
    ad=sub;
    P("%d-%d=%d\n",a,b,ad(a,b));
huidiao(a,b,add);
huidiao(a,b,sub);
getchar();


}
原创粉丝点击