如标题,这里就不过多解释了,详见别人的博客,这里给出两个简单的例子
#include <math.h>
#include <stdio.h>
double (*f)(double)=sin;
double (*g())(double){return sin;}
int main(){
int i;
printf("%f, %f\n",f(0.5),g()(0.5));
return 0;
}
f
是个变量,他被赋予了一个函数,函数参数是double
类型返回double
类型
g
是个函数,他返回一个函数,函数参数是double
类型返回double
类型
另外,参数参数可以省略,即
#include <math.h>
#include <stdio.h>
double (*f)()=sin;
double (*g())(){return sin;}
int main(){
int i;
printf("%f, %f\n",f(0.5),g()(0.5));
return 0;
}