函数类型指针重定义及应用

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
}       

  

posted on 2022-11-16 07:43  让代码改变世界ha  阅读(262)  评论(0编辑  收藏  举报

导航