C 指標函式與函式指標

2021-10-11 05:40:04 字數 2487 閱讀 5200

指標預熱知識:

1 .指標就是位址

2 .指標的型別應該與變數型別匹配

例如

int a =2;

//指標pa是int*型別,所以只能存放int型別變數a的位址

//絕對不能存放char、double...等型別變數的位址

int*pa =

&a;

#include

"stdafx.h"

#include

using

namespace std;

int*

address

(void);

int_tmain

(int argc, _tchar* ar**)

//該函式返回變數c的位址

int*

address

(void

)//函式返回的是c(int型別)的位址

//所以設計函式返回值的型別應該為int*型別

執行結果如下

//fun函式是計算兩個數相加並返回值

double

fun(

double a,

double b)

//建立函式pfun,在pfun函式裡面呼叫fun函式

double

pfun

(double

(*pf)

(double

,double))

//pfun函式的形參列表是double (*pf)(double,double)

//double是fun函式返回值的型別,函式指標變數pf後跟的是fun函式的形參列表的型別,有幾個形參就寫幾個相對應的型別列表

//pfun函式返回值型別為double,因為該函式返回的值是pf()的返回值,是乙個double型別

通過 pfun 函式呼叫 fun 函式計算兩個數相加的值,完整**如下

#include

"stdafx.h"

#include

using

namespace std;

double

fun(

double

,double);

double

pfun

(double

(*pf)

(double

,double),

double a,

double b)

;int

_tmain

(int argc, _tchar* ar**)

double

fun(

double a,

double b)

double

pfun

(double

(*pf)

(double

,double),

double a,

double b)

執行結果

}執行結果

C 函式指標與指標函式

函式指標 函式名本身代表著函式的位址,因此給函數指標賦值使可以不用加 符號 加也可以!void func int 定義乙個函式 void pf int 定義乙個函式指標 pf func 給函式指標賦值 int f x,y 其中x,y是形式引數,f是函式名,呼叫後返回乙個指向整型資料的位址指標。f x...

C 函式指標與指標函式

c 要是不常用,相信過四天你的指標函式與函式指標的概念就該忘個精光。其實只要記住誰在後面誰就是哪個本質。先了解下指標陣列與陣列指標吧 陣列指標 就是指向陣列的指標,它表示的是乙個指標,它指向的是乙個陣列,它的重點是指標,如,int pa 8 宣告了乙個指標,該指標指向了乙個有8個int型元素的陣列 ...

c指標陣列與陣列指標與指標函式與函式指標筆記

include include typedef struct t ooxx t ooxx,pt ooxx 測試陣列指標 void test ooxx arrayp t ooxx p int num 測試指標陣列 void test ooxx parray t ooxx p,int num 測試函式指...