如下函数

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

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!