1、函数指针
顾名思义,指向函数的指针。所以函数指针其实是指针变量,只不过该指针变量指向函数。
即函数指针指向的是程序代码存储区。
获取函数的地址,即函数名(不带形参)。
2、格式
类型名 (*指针变量名) (函数参数列表)
3、用途
(1)调用函数,即回调函数的使用;
(2)函数的参数;
4、声明 声明指向函数的指针时,必须指定指针指向的函数类型,即指定函数的返回类型以及函数的参数列表。
typedef int (*func_ptr)(int,int);
说明:
(*func_ptr)---函数名称
fun_ptr-------函数指针
5、使用
void func(int lines, func_ptr _ptr)
{
return _ptr(a, b);
}
int max(int a, int b)
{
return ((a > b) ? a : b);
}
int min(int a, int b)
{
return ((a < b) ? a : b);
}
int sum(int a, int b)
{
return (a + b);
}
int main(void)
{
int a, b, res;
func_ptr _max = max;
res = func(a, b, _max);
res = func(a, b, min);
res = func(a, b, sum);
return 0;
}
|