作者march20 ()
看板Programming
標題Re: [問題]這是 function 還是變數??
時間Tue Jul 18 18:05:16 2006
※ 引述《HaWay.bbs@bbs.sayya.org (哈維 - 掛線中...)》之銘言:
: 有一種宣告好像是這樣 :
: static void (*single_server_pre_accept) (char *, char **);
這定義了一個 function pointer, 所以 single_server_pre_accept 是變數沒錯,
sspa (請容許我用縮寫 XD) 指向一個 function,
其參數為 char *, char **, 且傳回值為 void.
static 表示 sspa 是個 static variable.
(我不記得有 pointer to "static" function 這種東西, 有的話請糾正我 @@)
: 使用上是這樣用的
sspa 應該有被設定初值成 NULL 才對.
: if (single_server_pre_accept)
如果這個 pointer 不指向任何 function
: single_server_pre_accept(single_server_name, single_server_argv);
那麼呼叫這個 pointer 指向的 function.
這個語法跟一般 function 呼叫的方式幾乎一樣, 我想應該是這點困擾你的.
: 沒有任何 code 去處理 傳入的變數 single_server_name, single_server_argv .
: 可以被 if 判斷, 又沒有任何傳入參數,
: 後面又塞兩個參數進去, 也沒有其他副程式處理.
: 這是哪種型態的宣告啊??
: 謝謝~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 71.137.27.253
※ 編輯: march20 來自: 71.137.27.253 (07/18 18:05)
推 cole945:(舉)ptr to static func的意思是._.?140.138.145.145 07/18 19:20
推 march20:我也不知道, 所以說"不記得有" ^^; 71.137.27.253 07/18 20:01
推 cplusplus:有沒有static對函式指標應該沒影響:p 219.86.96.11 07/18 22:13
推 qrtt1:function pointer hold an address of the 163.26.34.214 07/19 08:59
→ qrtt1:real function :P 163.26.34.214 07/19 09:00