函数指针在嵌入式操作中经常被用到,比如一些操作系统中的,钩子函数,回调函数,都是通过函数指针实现的,再次总结一下函数指针,先从函数指针的而基本概念说起:
1.函数指针
函数指针归根结底还是指针,其形式如下:
类型 (*指针名)(参数1,参数2...);
比如:int(*p)(int ,float);
使用方法如下:
#include<stdio.h>
int func1(int a, float b)
{
return a + b;
}
int func2(int c, float d)
{
return c + d;
}
int (*p)(int,float);
int main()
{
int k;
p = func1;
k = p(10, 30.0);
printf("k = %d\n", k);
return 0;
}
这种方式是对其间接调用,使用函数指针
2.函数指针当参数,实现回调函数的调用方式、
#include<stdio.h>
int func1(int a, float b)
{
return a + b;
}
int func2(int c, float d)
{
return c + d;
}
int (*p)(int,float);
int test(int (*p)(int, float))
{
int k = 0;
k = p(10,30.0);
printf("k = %d\n",k);
return 0;
}
int main()
{
test(func1);
return 0;
}