function pointer 概念
基本上有 data 的 pointer 就會有 function 的 pointer。
- 正確的 ( 回傳 int 的 function )
int (*pfi)();
int *pfi();
function pointer 宣告
利用 typedef,然後一樣用 & 取 function pointer
extern int f1();
typedef int (*funcptr)();
funcptr pfi;
pfi = &f1;
實際上你可以省略 &,因為 function 若不呼叫,他就只能回傳 pointer ( 原文 : When you mention the name of a function but are not calling it, there's nothing else you could possibly be trying to do except generate a pointer to it. ) pfi = f1;
function pointer 呼叫
- 正確的 ( 回傳 int 的 function )
int (*pfi)(arg1, arg2);
int *pfi(arg1, arg2);
int pfi(arg1, arg2);
下一篇 :
0 意見:
張貼留言