Posted on 2011-04-21 14:15
S.l.e!ep.¢% 閱讀(527)
評論(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) //返回值是指向函數的指針的函數
{
? ...
}