宏定义函数指针类型

来源:互联网 发布:mac梦幻西游连接失败 编辑:程序博客网 时间:2024/05/17 06:44

用typedef定义函数指针的形式如下:

 typedef 返回类型(*新类型)(参数表)

比如先声明一个函数:

int FactorialFun(int a) //求a的阶乘
{
 int Fact=1;
 int i;
 for(i=1;i<=a;i++)
  Fact=Fact*i;
 return Fact;
}

typedef int (*PFNFactorial)(int);     //宏定义FactorialFun函数指针类型

void main()

     int n;

     PFNFactorial  facfun;

      facfun=FactorialFun;

     cin>>n;

     (*facfun)(n);

}

因此,typedef的功能是定义新的类型。前面是宏定义了一种PFNFactorial的类型,并定义这种类型为指向某种函数的指针,这种函数以一个int为参数并返回int类型。