/*
函式指標:
陣列指標:
int型指標
int *pi;
pi指標的型別是:int
它只能指向int型變數;
例如:int a;
pi = &a;
float指標
float *pf;
pf指標的型別是:float
它只能指向float型變數;
例如:float a;
pf = &a;
陣列指標:
int (*pi)[5];
pi的指標型別是:int [5]
它所指向的是二維陣列int a[5]
pi = a
函式指標:
int (*p)(int a);
p的資料型別是:int (int a);//這種寫法是錯得,實際應該是:int (*)(int),為了和上面統一容易容易明白
它所指向的時函式;
所以如果有乙個這麼型別的函式:
int fun (int a){}
那麼 p就可以指向它:p = fun;
所以指標的型別決定了指標的使用規則和範圍
//定義乙個函式指標:,這個有點類似結構體:
typedef int (*fun_p)(int a,int b);
int fun1(int a,int b)
fun_p p1 = fun1;
p1(11,10);
fun_p p2 = fun1;
p2(100,0);
//定義乙個返回值為void,引數為void的函式指標
void (* p)();
//指標變數p指向fun函式,fun是函式的入口位址
p = fun;
p();
//宣告乙個返回值為int,引數為兩個int的函式指標p1,
int (* p1)(int ,int );
//函式指標的型別包括兩個:1.返回值的型別2.引數列表,3.* 定義乙個指向這兩標示相同的函式的指標,
返回值型別 * 引數型別
int ( * p)( int a)
p1 = fun1;
p1(2,11);
C語言 指標函式和函式指標
指標函式和函式指標 指標函式其實是乙個簡稱,是指帶指標的函式,它本質上是乙個函式,只是返回的是某種型別的指標。其定義的格式為 型別識別符號 函式名 參數列 函式指標,從本質上說是乙個指標,只是它指向的不是一般的變數,而是乙個函式。因為每個函式都有乙個入口位址,函式指標指向的就是函式的入口位址。其定義...
C語言 指標函式和函式指標
1 指標函式是指帶指標的函式,本質上是乙個函式,函式返回值是某一型別的指標 定義 型別識別符號 函式名 參數列 int f int x,int y 它首先是乙個函式,只不過這個函式的返回值是乙個位址值,函式返回值必須用同型別的指標變數來接受,也就是說,指標函式一定有函式返回值,而且,在主調函式中,函...
c語言函式指標與指標函式
include include include using namespace std 1 c語言函式指標 解釋 這是一種很特殊的指標,它的指向是乙個函式的入口 作用 該指標可以接受乙個函式的位址,代表這個函式執行函式的操作 函式指標舉例 下面是乙個函式指標pfunc,它只能指向返回值為float,...