使用typedef简化函数指针的使用
#include<stdio.h>
//函数声明,实现加法的函数
int add(int a,int b);
//main函数
int main(int argc, char const *argv[])
{
// 使用typedef关键字:
// 定义一个 int (*)(int, int) 类型的函数指针
// 实际上是对函数指针int (*FUNC_ADD)(int, int)进行了简化定义为PFUNC_ADD,这样使用时就可以将FUNC_ADD当作一个类型来使用。
// 方式一:
typedef int(*PFUNC_ADD)(int, int);
// 方式一的使用
PFUNC_ADD pfun;
pfun = add;
printf("%d\n", (*pfun)(1,2));
// 方式二
typedef int (FUNC_ADD)(int, int);
// 方式二的使用
FUNC_ADD *fun;
fun = add;
printf("%d\n", fun(1,2));
// 不使用typedef关键字:
int (*func_add)(int, int)
func_add = add;
printf("%d\n", func_add(1,2));
return 0;
}
int add(int a, int b)
{
return a + b;
}