C語言函式指標

2021-08-28 03:47:02 字數 1263 閱讀 9933

本博文**基於vc++開發除錯

只是對函式指標的乙個學習筆記;

顯然函式指標是乙個指標,而且是乙個指向函式的指標;c語言中,定義乙個函式後,編譯時編譯器會為這個函式開闢一段記憶體空間,函式指標這個記憶體空間的起始位址(入口位址)成為這個函式的指標;

定義:*型別名 (指標變數名)(函式引數列表)

int (*name) (int a,int b)   //函式型別為整型,指標函式名為name,函式形參為兩個整型

1.函式名呼叫法;(這個太簡單,不討論)

2.指標變數呼叫法;

舉例:(輸出兩個數中的最大數)

#include void main()

int max(int a,int b)

特別注意:int (*p)(int a,int b); 代表定義宣告乙個返回值為整型值的函式;

int *p(int a,int b); 代表定義宣告乙個返回值為整型位址的函式;

應用1:函式指標的靈活賦值

利用函式名呼叫函式,只能呼叫所指定的函式,而通過指標變數呼叫函式就比較靈活了,可以根據具體問題,先後或選擇性的對函式指標變數賦值;舉例:

要求:輸入兩個數,,然後讓使用者選擇1或2,選擇1時呼叫max函式,輸出兩個數中的最大值,選擇2時呼叫min函式,輸出兩個數中的最小值;

#include void main()

else if(c==2)

printf("\n"); }

int max(int a,int b)

執行結果:

應用2:函式指標做函式引數

指標是作為函式引數的乙個重要應用;

舉例:要求通應用1;

#include void main()

int fun(int a,int b,int (*p)(int a,int b))

int max(int a,int b)

執行結果:

C語言 指標函式和函式指標

指標函式和函式指標 指標函式其實是乙個簡稱,是指帶指標的函式,它本質上是乙個函式,只是返回的是某種型別的指標。其定義的格式為 型別識別符號 函式名 參數列 函式指標,從本質上說是乙個指標,只是它指向的不是一般的變數,而是乙個函式。因為每個函式都有乙個入口位址,函式指標指向的就是函式的入口位址。其定義...

C語言 指標函式和函式指標

1 指標函式是指帶指標的函式,本質上是乙個函式,函式返回值是某一型別的指標 定義 型別識別符號 函式名 參數列 int f int x,int y 它首先是乙個函式,只不過這個函式的返回值是乙個位址值,函式返回值必須用同型別的指標變數來接受,也就是說,指標函式一定有函式返回值,而且,在主調函式中,函...

c語言函式指標與指標函式

include include include using namespace std 1 c語言函式指標 解釋 這是一種很特殊的指標,它的指向是乙個函式的入口 作用 該指標可以接受乙個函式的位址,代表這個函式執行函式的操作 函式指標舉例 下面是乙個函式指標pfunc,它只能指向返回值為float,...