C語言 指向函式的指標

2021-10-06 03:51:23 字數 1341 閱讀 1693

c語言程式在編譯後,每個函式都有乙個首位址(也就是函式第一條指令的位址),這個位址稱為函式的指標。可以定義指向函式的指標變數,使用指標變數間接呼叫函式。

先用乙個簡單的程式來說明:

#include

float

max(

float a,

float b)

float

min(

float a,

float b)

main()

執行結果:

在本程式中的詳細說明:

(1)語句float (*p)(float a, float b)定義了乙個指向函式的指標變數。函式的格式是:返回值為float型,形式引數列表是(float a, float b),p指標定義後,可以指向任何滿足該格式的函式。

(2)定義指向函式的指標變數的格式為:資料型別(*指標變數名稱)(形式引數列表);

其中資料型別是函式返回值的型別,形式引數列表是函式的形式引數列表。

(3)形式引數列表中,引數名稱可以省略。比如,float (*p)(float a, float b),可以寫為:float (*p)(float, float);

(4)需要注意的是指標變數名稱兩邊的括號不能省略。

(5)語句p=max;將max函式的首位址值賦給指標變數p,也就是使p指向函式max。c語言中,函式名稱代表函式的首位址。

#include

float

add(

float a,

float b)

float

subtract

(float a,

float b)

float

multiply

(float a,

float b)

float

divide

(float a,

float b)

float

math

(float

(*p)

(float

,float),

float a,

float b)

main()

執行結果:

C語言 指向函式的指標

1 函式型別 函式指標變數 指向函式的入口位址 乙個函式是若干語句的集合 經編譯後儲存在函式 儲存區 並占有一片連續的儲存空間 對函式指標只能用函式名賦值而無其他運算 include stdio.h 23 intmax intx inty 45 intmain 617 18int max intx ...

C語言 指向函式的指標

在c語言中,函式名代表函式的入口位址。可以定義乙個指標變數,接收函式的入口位址,讓它指向函式,這就是指向函式的指標,也稱函式指標。通過函式指標可以呼叫函式,它還可以作為函式的引數。函式指標的定義 函式指標定義的一般格式為 型別名 變數名 引數型別表 型別名指定函式返回值的型別,變數名是指向函式的指標...

C語言指向函式的指標

定義形式 型別 指標變數名 引數列表 例如 int p int i,int j 在這裡 int是函式的返回型別,p是指向函式的指標,int i,int j 是函式的引數 注意 int f int i,int j int p int i,int j 前者是返回值是指標的函式 後者是乙個指向函式的指標。...