函数类型指针重定义及应用
1.使用typedef 重定义函数指针类型
定义一个返回值为空,无参数的函数指针类型
typedef void(* Pfun)(void);
2.使用函数指针类型定义函数指针变量
Pfun FUN = NULL;
3.提供外部函数接口,赋值FUN
void FunInit(Pfun CallBackFun)
{
if(CallBackFun != NULL)
{
FUN = CallBackFun;
}
}
4.在判断函数指针变量不为空,即可运行
void FUN_RUN(void)
{
if (FUN != NULL)
{
FUN();
}
}
5.将一个地址转换为函数指针变量进行运行
void JumpApp(void)
{
volatile Pfun funjmp;
#if 1
funjmp = (Pfun) ( 0x100);//
/*jump funtion*/
funjmp();
#else
((void(*)(void)) 0x100)();// (*((void(*)(void)) 0x100))();
#endif
}
浙公网安备 33010602011771号