如下函數 char (*retCharWithInt(char, char))(int); 申明瞭函數指針retCharWithInt,該指針指向一個形參是(char,char),返回值是char(*)(int)的函數。 若是定義 char (*retCharWithInt(char c1, cha ...
如下函數
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。
這種寫法可以實現在函數中返回一個指向函數的指針。