int (*(*f)(int,int))(int)是什么含义

最后得到的是一个函数吗?中间都是怎么进行转换的?
2024-12-26 06:34:10
推荐回答(4个)
回答1:

int
max(int
x,int
y)意思是定义一个函数max,函数max的类型是int即整型,函数max有两个变量,一个是x,一个y,都是整型变量这个max是你定义的
你随意变,变成min都可以。int是函数的类型,void也是函数的类型一个是整型函数,在函数体最后要有return
整数。void是空的意思,void
max的类型是空,函数体最后不用return。就这么个意思

回答2:

int (*(*f)(int,int))(int)是一个函数指针A,它的返回类型是一个函数指针类型B。

B可以定义为:typedef int (*B)(int);
A可以表示为:B (*f)(int, int);

函数可以这样定义:
int g(int x) {return 0;}
int (*f(int x, int y))(int){return g;}

使用如下:
int (*(*h)(int, int))(int) = f;
h(0, 0);

回答3:

是一个函数定义
(*f)(int,int)表示一个函数指针
(*(*f)(int,int))表示该函数指针所指向的函数
然后int (*(*f)(int,int))(int)定义这个函数,一个int参数,返回int

回答4:

是一个函数指针A,它的返回类型是一个函数指针类型B。

B可以定义为:typedef int (*B)(int);
A可以表示为:B (*f)(int, int);

函数可以这样定义:
int g(int x) {return 0;}
int (*f(int x, int y))(int){return g;}

使用如下:
int (*(*h)(int, int))(int) = f;
h(0, 0);