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

posted @ 2017-05-08 13:47  ZHRYlike1  阅读(699)  评论(0编辑  收藏  举报