函式指標變數

2021-07-16 07:11:32 字數 974 閱讀 6258

在c語言中,乙個函式總是占用一段連續的記憶體區域,函式名就是該函式所佔記憶體區域的首位址。我們可以把函式的這個首位址(或稱入口位址)賦予乙個指標變數,使該指標變數指向該函式,然後通過指標變數就可以找到並呼叫這個函式。我們把這種指向函式的指標變數稱為函式指標變數。

函式指標變數定義的一般形式為:

datatype (*指標變數名)();
也可以如此定義:

typedef

void(*funtype)(int);

/*前加乙個typedef關鍵字,這樣就定義乙個名為funtype函式指標型別

而不是乙個funtype變數。

*形式同 typedef int* pint;

*/

資料型別表示被指函式的返回值的型別,(指標變數名)表示 後面的變數是指標變數,最後的空括號表示指標變數所指的是乙個函式

使用函式指標變數,可以通過引數指定呼叫函式呼叫相關的被呼叫函式.

如下例子:

#include 

#include

typedef

void(*funtype)(int);

//前加乙個typedef關鍵字,這樣就定義乙個名為funtype函式指標型別,而不是乙個funtype變數。

//形式同 typedef int* pint;

void myfun(int x);

void hisfun(int x);

void herfun(int x);

void callfun(funtype fp,int x);

int main()

void callfun(funtype fp,int x)

void myfun(int x)

void hisfun(int x)

void herfun(int x)

更深入理解:

函式指標 (變數)

函式指標的宣告方法為 函式型別 標誌符 指標變數 名 形參列表 注意函式指標變數和 函式指標型別的區別 1 直接宣告乙個函式指標變數 類似struct型別的定義和宣告,放在一起 int func int x 宣告乙個函式 int f int x 宣告乙個函式指標 f func 將func函式的首位址...

函式指標變數

c語言作為一門面向過程的語言,那麼他的 塊一般是以函式為最小單位的,我們了解過棧幀之後都知道,也是有位址的,那麼存放 位址的變數就叫做函式指標變數。void test int main 這樣我們就可以使用函式指標p來呼叫這個函式,在這裡有一點比較特殊的地方,我們可以通過 解引用呼叫,也可以直接用指標...

作文 從指標變數到指標函式,路過函式指標

從最簡單的指標變數出發,比如int a 那麼a是乙個整形變數 現在int a 那麼a是乙個指標變數 指標a表達的是某個位址,它需要依託某個實實在在的東西 比如 typedef struct ringbuff t static ringbuff t ringbuff ringbuff t pringb...