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

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類型的對象

發佈了55 篇原創文章 · 獲贊 11 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章