C語言 函式指標

2021-06-27 09:26:08 字數 2197 閱讀 8428

/*

函式指標:

陣列指標:

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,...