通过两种方式定义一个返回函数指针类型的函数。
其实只要看懂typedef的方式,另外一种方式自然也就懂了,实际就是个替换。
代码编译通过可执行。
</pre><pre name="code" class="cpp">/*
目的:定义一个返回函数指针的函数
要求:1、定义一个无参函数,函数返回类型为函数指针
2、返回的函数指针的类型为:返回值为int,有两个int类型的参数
*/
#include <stdio.h>
typedef int (*p)(int,int);
int add(int a,int b)
{
return a+b;
}
//通过typedef的方式返回函数指针
p fun1()
{
return add;
}
//通过完整定义的方式返回函数指针
int (*fun2())(int a,int b)
{
return add;
}
int main()
{
p pFunc1 = fun1();
p pFunc2 = fun2();
int sum = pFunc2(1,2);
return 0;
}