函数指针使用实例
#include <stdio.h>
typedef int ( *FUNC_PF )( int x );
int printfx(int x)
{
printf("code demo %d\r\n", x);
return 2;
}
int main(int argc, char* argv[])
{
FUNC_PF func = NULL;
int iRet;
func = printfx;
iRet = func(10);
return 0;
}
输出结果
code demo 10
说明:
1、声明一个指针类型,含义为入参为一个int类型数据,返回值为一个int类型数据。
typedef int ( *FUNC_PF )( int x );
2、使用时声明一个指针变量
FUNC_PF func = NULL;
3、将指针变量指向需要执行的函数,注意函数原型和函数指针原型保持一致。
func = printfx;
4、函数指针变量,按照函数的调用方式即可执行函数指针指向的函数
iRet = func(10);
总结:
1、函数指针通常用于需要动态挂接函数的地方。函数指针指向的功能函数,可以挂接不同的处理流程等等。