如果我們在程式中定義了乙個函式:
int
max(
int x,
int y)
//定義max函式
那麼函式名max
就是呼叫這個函式的入口位址。就如同定義乙個陣列,這個陣列名就是這個陣列的首位址。
既然是位址,就可以使用乙個指標來指向它。
對應於int max(int x, int y)
,我們定義的函式指標如下:
int
(*p)
(int
,int
);
返回值型別(*指標名)(引數列表型別)
利用上面定義的函式宣告和函式指標,完整的例子如下:
#include
"stdafx.h"
#include
using
namespace std;
intmax
(int
,int);
//函式宣告
int(
*p)(
int,
int)
;//定義乙個函式指標
intmain
(void
)int
max(
int x,
int y)
//定義max函式
當使用typedef
定義函式指標時,我們需要更改呼叫的格式和賦值的方式:
#include
"stdafx.h"
#include
using
namespace std;
intmax
(int
,int);
//函式宣告
typedef
int(
*p)(
int,
int)
;//定義乙個函式指標
intmain
(void
)int
max(
int x,
int y)
//定義max函式
typedef函式指標使用方法
形式1 返回型別 函式名 參數列 char pfun int char glfun int a void main 第一行定義了乙個指標變數pfun。首先我們依據前面提到的 形式1 認識到它是乙個指向某種函式的指標,這樣的函式引數是乙個int型,返回值是char型別。僅僅有第一句我們還無法使用這個指...
typedef函式指標使用方法
形式1 返回型別 函式名 參數列 char pfun int char glfun int a void main 第一行定義了乙個指標變數pfun。首先我們依據前面提到的 形式1 認識到它是乙個指向某種函式的指標,這樣的函式引數是乙個int型,返回值是char型別。僅僅有第一句我們還無法使用這個指...
typedef函式指標使用方法
形式1 返回型別 函式名 參數列 char pfun int char glfun int a void main 第一行定義了乙個指標變數pfun。首先我們依據前面提到的 形式1 認識到它是乙個指向某種函式的指標,這樣的函式引數是乙個int型,返回值是char型別。僅僅有第一句我們還無法使用這個指...