函数指针

指针与指针变量:
指针是一个内存地址
指针变量是一个存放地址的变量

函数指针与指针函数:
函数指针:函数名是一个指针

void(*pf)();//定义一个函数指针pf;其数据类型是void(*)();即pf指向没有返回值也没有形参的函数
pf = fa;//fa是地址常量
fa();//标准函数调用方法
pf();//使用指针调用函数

函数名是函数第一条语句的(常量)地址:指针,其实就是一个内存地址

** 函数指针(变量)中保存的是函数名**
可以用函数指针直接调用其所指向的函数

void myFun(int x){ }
int mian(){
   myFun(3);
   void (*pFun)(int); //定义一个函数指针变量
   pFun = &myFun;
   (*pFun)(5); //通过函数变量来调用myFun函数
   return 0;
}

指针函数
在C语言中允许一个函数的返回值是一个指针(即地址),这种返回指针值的函数称为指针型函数。定义指针型函数的一般形式为:

数据类型 *函数名(形参列表){
    //函数体
}

函数名之前加了*号表明这是一个指针型函数,它的返回值是一个指针。

原文地址:https://www.cnblogs.com/xulinmei/p/7444059.html