作者TommyKSHS (汤米)
看板NTUEE113HW
标题[教学] Pointer IV
时间Thu Nov 26 18:41:25 2009
然後来讲个 function pointer
之前的 pointer 都只是拿来指个普通的变数
有点ρρ的感觉
现在, pointer 即将进化为潮男了!
因为它可以指向 function !
好啦 不嘴炮= =
还记得 pointer 的宣告方式长的像这样子吧
datatype* ptr;
类似地,function pointer 的宣告方式
是像这样子
datatype (*funcPtr)(int,double);
这样就宣告了一个 function pointer
那…这样宣告代表了什麽呢?
意思就是宣告一个 function pointer 叫作 funcPtr
然後这个 funcPtr 指向的是一个 function 的 address
而且这个 function 的 prototype 是以下这个样子
datatype func1(int,double);
有没有发现宣告的方式和 prototype 几乎一样 XD
好…那我们要怎麽 assign 一个 address 给 function pointer 呢?
其实就和一般的 pointer 没什麽不同
例如以上面的 code 片段
就可以写成这样
datatype (*funcPtr)(int,double);
funcPtr =
func1;
funcPtr =
&func1;
//PS: 以上两行是一样的,只是第一种是比较快的写法
//某个网站的说明是说第一种是 short form
//然後第二种是 correct assignment using address operator
阿我先去吃饭了= =
其它的等会儿 PO~
大家掰掰
--
╭═══╤═══╮ ╰═╮ ╭═╯
│ │ │╭═和平,土地,面包═╮ │ │
│ ╭═╧╧╮╤═╤═╮═╤═╤╧╮ │ │
│ │ ││ │ │ │ │ │ ╰═╤═╯
│ │ ││ │ │ │ │ │ │
╰╧╯╰═══╯╰ ╰ ╰ ╰ ╰ ╰ ─╯
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.239.191
1F:推 b98901056:抢头香推推 请教function在记忆体的储存方式 11/26 20:07
2F:推 e221873:ρρ是哪招= = 11/26 21:17
3F:→ TommyKSHS:To: 1F 这麽奥妙的东西我不会阿 XD 11/26 23:09
4F:→ TommyKSHS:一楼看看这个? 11/26 23:13
6F:→ b98901056:thx orz 英文不好 只能慢慢看了 囧 11/27 00:12
7F:推 b98901056:解决一些 剩下的我用mermory view试看看 再谢Tommy ORZ 11/27 01:38
8F:推 ym920823:说好得等会儿po勒?!! 11/28 15:24
9F:推 jaja02:推~ 期待pointer V~ 11/29 16:13
10F:推 a088753349:挖靠!这麽精简??推推推~~ 12/02 12:23