S.l.e!ep.¢%

像打了激速一样,以四倍的速度运转,开心的工作
简单、开放、平等的公司文化;尊重个性、自由与个人价值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

函数的返回值是函数指针

Posted on 2011-04-21 14:15 S.l.e!ep.¢% 阅读(522) 评论(0)  编辑 收藏 引用 所属分类: VC

函数的返回值是函数指针

程序 2007-05-09 08:21:48 阅读13 评论0   字号:   订阅

void (*signal (int signo, void (*func)(int))) (int);
signal函数的原型说明此函数要求两个参数,返回一个函数指针,而该指针所指向的函数无返回值(void)。第一个参数signo是一个整型数,第二个参数是函数指针,它所指向的函数需要一个整型参数,无返回值。
如果使用下面的 typedef,则可使其简单一些。
typedef void   Sigfunc(int);
然后,可将signal函数原型写成:
Sigfunc *signal(int, Sigfunc *);

将一个数转化为函数指针
#define SIG_ERR (void (*)())-1

int (* a[10])(int); 指向函数的指针数组
struct intNode * (* pf[]) (void) = {..., NULL};

struct intNode *(* menu(void))(void) //返回值是指向函数的指针的函数
{
  ...
}

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理