函数指针 是指向函数的 指针变量,即本质是一个指针变量。
其目的是:1.将其他函数的入口地址传递给函数指针变量,通过函数指针变量名来间接地调用其他函数。
2.任务的调用 和 任务的编写可以分开(可以实现接口)
3.提前约定了函数的返回值、函数的参数
在python中有类似的用法,即装饰函数。
函数指针的3个基础用法:
1.声明一个函数类型--------------typedef 返回值类型 ( 类型把头名)(使用方式:类型把头名 *p=NULL)
2.声明一个函数指针类型--------typedef 返回值类型 (*类型把头名)(使用方式:类型把头名 p=NULL)
3.定义一个函数指针变量-------- 返回值类型 (*函数指针名)(使用方式:直接使用函数指针名)
#include "iostream"
using namespace std;
void myfunc(int a)
{
printf("a:%d \n", a);
}
void myfunc(char *p)
{
printf("%s \n", p);
}
void myfunc(int a, int b)
{
printf("a=%d ,b=%d\n", a,b);
}
void myfunc(char *p1, char *p2)
{
printf("p1:%s ", p1);
printf("p2:%s \n", p2);
}
//函数指针的基础语法
//1.声明一个函数类型----typedef 返回值类型 (类型把头名)(使用方式:类型把头名 *p=NULL)
typedef void (myTypeFunc)(char *p);
//2.声明一个函数指针类型----typedef 返回值类型 (*类型把头名)(使用方式:类型把头名 p=NULL)
typedef void