声明一个指向函数的固定格式:
函数返回值类型 (*函数指针变量)(参数类型1, 参数类型2, ...);
下面我定义了一个求和函数sum
。
int sum(int num1 , int num2){
return num1 + num2;
}
接下来我想定义一个指针p指向sum
函数。
int (*p)(int, int) = sum;
这里说明下:
一个函数在内存中也是有地址的。其地址值就是函数名
下面通过指向函数的指针来调用函数
(*p)(10, 11);
或者
p(10, 11);
声明一个函数指针比较麻烦,可以使用typedef
一次声明好该函数类型的指针
typedef int (*SUM)(int, int);
SUM p = sum;
int res = p(10, 11);
网友评论