int *f(); /* f是一個函數,返回一個指向int類型的指針*/
int (*pf)(); /*pf是一個指向函數的指針,返回一個int類型的對象*/
說明:*是一個前綴運算符,其優先級低於(),所以,聲明中必須用園括號以保證正確的結合順序
char (*(*x())[])()
解釋:x是一個函數,返回一個指針,該指針指向一個一維數組,該一維數組的元素爲指針,這些指針分別指向多個函數,這些函數的返回值爲char類型
拆解分析:
1. char * x() 是一個函數,返回指針,先用A代替*x()
2. char * (A)[] 是一個數組,每個元素都是指針,用B代替(A)[]
3. char (*B)() 是指向函數的指針,返回char類型的對象