C返回函数指针的函数
如下函数
char (*retCharWithInt(char, char))(int);
申明了函数指针retCharWithInt,该指针指向一个形参是(char,char),返回值是char(*)(int)的函数。
若是定义
char (*retCharWithInt(char c1, char c2))(int) { ; }
则为定义函数(*retCharWithInt(char c1, char c2))
该用法在linux和C++ STL中都曾出现。
系统调用signal用来设定某个信号的处理方法。该调用声明的格式如下:
void (*signal(int signum, void (*handler)(int)))(int);
则handler是指向void(*)(int)的函数指针。
即定义了参数为(int,void(*handler)(int))返回值为指向参数为(int)返回值为void的函数指针signal。
这种写法可以实现在函数中返回一个指向函数的指针。
http://www.cnbolgs.com/like1/p/6824720.html