天天看點

int *f() 與 int (*pf)() 差別

int *f();  

int (*pf)();  

說明:*是一個字首運算符,其優先級低于(),是以,聲明中必須用園括号以保證正确的結合順序

char (*(*x())[])()

解釋:x是一個函數,傳回一個指針,該指針指向一個一維數組,該一維數組的元素為指針,這些指針分别指向多個函數,這些函數的傳回值為char類型

拆解分析:

1. char * x() 是一個函數,傳回指針,先用A代替*x()

2. char * (A)[] 是一個數組,每個元素都是指針,用B代替(A)[]

3. char (*B)() 是指向函數的指針,傳回char類型的對象

繼續閱讀