本文參考
1.函式指標
函式指標是乙個指標,其指向的是乙個函式,而不是普通的資料型別或者類物件。其定義如下:
int (*func)(int a, int b); //函式指標的最大作用是將乙個函式作為引數傳遞給另乙個函式。函式指標的宣告與宣告乙個普通的函式原型差不多,除了函式指標的函式名需要被括在括號內,並在函式名前新增星號asterisk(*)。這就說明函式指標的函式名是乙個指標,上面的函式指標func定義為乙個指向乙個返回值為整型,有兩個引數並且兩個引數都是整型的函式。宣告函式指標
下面是求兩個數的和和差的函式指標用法:
//2.指標函式pointer to functions
#include using
namespace
std;
//求兩個數的和
int addition (int a, int
b) //
求兩個數的差
int subtraction (int a, int
b) int (*minus)(int,int) =subtraction;
int operation (int x, int y, int (*functocall)(int,int
))
int (*func)(int,int); //
宣告函式指標
intmain ()
指標函式是帶指標的函式,其本質是乙個函式,只是返回型別是某一型別的指標;
其定義如下:
型別說明符 (*)函式名 (引數列表);由上面的定義可以看出,指標函式是乙個返回值為位址型別的函式。需要注意的是:函式的返回值必須由同型別的指標變數來接受(也就是說,指標函式一定具有返回值)。其返回值的用法如下:int * func (int x,int y);
char *fun(); //指標函式的使用例項:宣告乙個返回型別為char型別的指標函式
char *p; //
定義乙個char型別的指標變數,用來接收fun()的返回值
p=fun();
#includeusingnamespace
std;
int * getdate(int week,int day); //
宣告指標函式
intmain()
while(week<1||week>5||day<1||day>7
) cout
<
去引用獲得該位址下的元素值
cout<
system(
"pause");
return0;
}
int * getdate(int week,int
day)
, ,,,
};return &calendar[week-1][day-1]; //
返回指向calendar某個元素的位址
}
#includeusing執行結果如下:namespace
std;
int *f(int a, int b); //
宣告指標函式
intmain()
/** 指標函式的定義
* 返回值是指標型別int *
*/int *f(int a, int
b)
C 指標函式和函式指標
1 指標函式 1 基本概念 指標函式 顧名思義就是帶有指標的函式,即其本質是乙個函式,只不過這種函式返回的是乙個對應型別的位址。2 定義式 type func type type 如 int max int x,int y 3 例子詳解 cpp view plain copy 1.include 2...
c 指標函式和函式指標
函式指標與指標函式 1 函式指標 形式 返回型別 函式名 參數列 一種特殊的指標,它指向函式的入口 定義乙個函式指標p,只能指向返回值為int,形參為兩個int的函式 輸出結果 include stdafx.h include using namespace std int p int,int in...
C 函式指標和指標函式
c 要是不常用,相信過四天你的指標函式與函式指標的概念就該忘個精光。其實只要記住誰在後面誰就是哪個本質。先了解下指標陣列與陣列指標吧 陣列指標 就是指向陣列的指標,它表示的是乙個指標,它指向的是乙個陣列,它的重點是指標,如,int pa 8 宣告了乙個指標,該指標指向了乙個有8個int型元素的陣列 ...