C语言中的函数指针(指向函数的指针)
函数指针是什么?
在定义一个函数之后,在编译后,系统会为函数分配一段存储空间。
指针用来保存地址的,而函数指针也是一样,只不过保存的是函数存储空间的起始地址.
如何在C语言中使用函数指针
函数指针的定义
int (*p)(int,int);
int代表的是指针变量名,两个int代表,函数参数有两个,且都为int型,当然以上定义只为示例,需要根据不同的函数,指定不同的参数类型和参数个数。
- 通过函数指针调用函数
我们先定义一个判断大小的函数
int Max(int a,int b)
{
return a>b?1:0;
}
通过指针变量,调用函数形式为(*p)(a,b)
int main(int argc, char *argv[]) {
// 定义函数指针
int (*p)(int,int);
// 让指针指向函数
p = Max;
//调用函数
int result = (*p)(1,2);
printf("%d",result);
return 0;
}
- 函数指针作函数参数
函数指针也可以当作参数在函数之间传递
int test(int (*a)(int,int),int (*b)(int,int))
{
return 0;
}
还没有评论,来说两句吧...