作者ykjiang (York)
看板Programming
标题Re: [问题] 请教关於函式指标的问题...
时间Sat Mar 24 14:35:04 2007
※ 引述《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