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

来源:百度知道 编辑:UC知道 时间:2024/06/05 05:57:59
最后得到的是一个函数吗?中间都是怎么进行转换的?

是一个函数指针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);

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

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);