> 文章列表 > Linux:函数指针做函数参数

Linux:函数指针做函数参数

Linux:函数指针做函数参数

#include <stdio.h>
#include <stdlib.h>

//创建带有函数指针做参数的函数框架api
//调用者要先实现回调函数
//调用者再去调用函数框架

//所谓的回调是指 调用者去调用一个带有函数指针做参数的函数框架,函数框架反过来要调用调用者提供的回调函数

int add_CB(int a, int b)
{
return a + b;
}

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

int FrameFuc(int (*mycbfuc)(int, int), int fram_a, int fram_b)//创建带有函数指针做参数的函数框架
{

int c = mycbfuc(fram_a * 10,fram_b *10);
return c;

}

int main(int argc, const char * argv[])
{
//调用者去调用函数框架,要先实现回调函数
int c = FrameFuc(add_CB, 1, 2);
printf(“c= %d\\n”, c);
c = FrameFuc(sub_CB, 1, 2);
printf(“c= %d\\n”, c);
return 0;
}

结果:
Linux:函数指针做函数参数