Posted on 2011-04-21 14:15
S.l.e!ep.¢% 閱讀(531)
評論(0) 編輯 收藏 引用 所屬分類:
VC
函數(shù)的返回值是函數(shù)指針
程序
2007-05-09 08:21:48
閱讀13
評論0
??字號:大中小
?
訂閱
void (*signal (int signo, void (*func)(int))) (int);
signal函數(shù)的原型說明此函數(shù)要求兩個參數(shù),返回一個函數(shù)指針,而該指針?biāo)赶虻暮瘮?shù)無返回值(void)。第一個參數(shù)signo是一個整型數(shù),第二個參數(shù)是函數(shù)指針,它所指向的函數(shù)需要一個整型參數(shù),無返回值。
如果使用下面的 typedef,則可使其簡單一些。
typedef void?? Sigfunc(int);
然后,可將signal函數(shù)原型寫成:
Sigfunc *signal(int, Sigfunc *);
將一個數(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ù)
{
? ...
}