Re: [問題] 請教關於函式指標的問題...
※ 引述《sandwichC (沒回應=掛站)》之銘言:
: 關於複雜宣告的讀法,我上個月才剛寫完一篇文章
: 利用right-left rule來理解它
: http://sandwichc.blogspot.com/2007/02/cc-pointer-reference.html#five
: 第一個用這個方法的人似乎是印度工程師Vikram
: right-left rule:
: 「從最內層的括號讀起,變數名稱,然後往右,遇到括號就往左。當括號內的東西都解讀完
: 畢了,就跳出括號繼續未完成的部份,重覆上面的步驟直到解讀完畢。」
: 你的例子其實熟悉function pointer的人都能一眼看出它的意義
: 但我們還是用right-left rule來解析它幫助理解:
: int (*pfn)(int);
: 1. 從最內層的括號讀起,變數名稱,然後往右,遇到括號就往左。
: --> (*pfn) --> pfn is a function pointer
抓一下語病,到這裡只能知道 pfn is a pointer
: 2. 向右 --> (int) --> the function takes an integer as parameter
這步才知道它是 function pointer and takes an...
: 3. 向左 --> the function returns an integer
: ==> pfn 是一個指標函式,指向的函式接受int當參數並回傳int
: int *(*pfn)(int);
: 1. 從最內層的括號讀起,變數名稱,然後往右,遇到括號就往左。
: --> (*pfn) --> pfn is a function pointer
: 2. 向右 --> (int) --> the function takes an integer as parameter
: 3. 向左 --> the function returns a pointer to integer
: ==> pfn 是一個指標函式,指向的函式接受int當參數並回傳int* (pointer to int)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.77.88
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):