Posted on 2011-04-21 14:15
S.l.e!ep.¢% 閱讀(527)
評(píng)論(0) 編輯 收藏 引用 所屬分類:
VC
函數(shù)的返回值是函數(shù)指針
程序
2007-05-09 08:21:48
閱讀13
評(píng)論0
??字號(hào):大中小
?
訂閱
void (*signal (int signo, void (*func)(int))) (int);
signal函數(shù)的原型說(shuō)明此函數(shù)要求兩個(gè)參數(shù),返回一個(gè)函數(shù)指針,而該指針?biāo)赶虻暮瘮?shù)無(wú)返回值(void)。第一個(gè)參數(shù)signo是一個(gè)整型數(shù),第二個(gè)參數(shù)是函數(shù)指針,它所指向的函數(shù)需要一個(gè)整型參數(shù),無(wú)返回值。
如果使用下面的 typedef,則可使其簡(jiǎn)單一些。
typedef void?? Sigfunc(int);
然后,可將signal函數(shù)原型寫(xiě)成:
Sigfunc *signal(int, Sigfunc *);
將一個(gè)數(shù)轉(zhuǎn)化為函數(shù)指針
#define SIG_ERR (void (*)())-1
int (* a[10])(int); 指向函數(shù)的指針數(shù)組
struct intNode * (* pf[]) (void) = {..., NULL};
struct intNode *(* menu(void))(void) //返回值是指向函數(shù)的指針的函數(shù)
{
? ...
}