示例 C語言中利用陣列存放函式指標

2021-07-02 16:19:01 字數 1040 閱讀 7173

c語言中利用陣列存放函式指標,增加函式使用的靈活性。使用時只需提供陣列索引,即可呼叫不同函式。

預備知識:

1、指向函式的指標

乙個函式在編譯時被分配乙個入口位址,這個位址就被稱為函式的指標。

例如:

int max(int,int);  // 宣告函式,比較兩數大小

int (*p)(); //宣告指向函式的指標變數

p=max; //將函式max的入口位址賦給指標變數p

int c=(*p)(a,b); //呼叫函式

2、函式指標作為函式引數

該例子中每次給process函式不同實參(函式名),即可實現不同功能,而函式本身不必做任何修改。

#include "stdafx.h"

int add(int a,int b)

int sub(int a,int b)

int muti(int a,int b)

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

int main(int argc, char* argv)

3、函式指標陣列

在乙個選單驅動系統中,使用者可以輸入乙個整型值來選擇選單中的乙個功能選項。該整型值作為函式指標陣列的下標,而陣列中的函式指標可以用來呼叫函式。

下面例子演示了函式指標陣列的宣告和使用。程式中定義3個函式:func1、func2、func3,且每個函式帶乙個整形引數,無返回值。

#include "stdafx.h"

void func1(int a)

void func2(int a)

void func3(int a)

int main(int argc, char* argv)

; printf("choice number: \n");

scanf("%d",&a);

dowhile((a>=0)&&(a<3));

return 0;

}

C語言中字元陣列庫函式

以下內容摘自 c程式設計教程 美 h.m.deitel p.j.deitel著,薛萬鵬等譯,機械工業出版社。void memccpy void dest,const void src,int c,size t n 從sr 所指向的物件複製 個字元到 est所指向的物件中。如果複製過程中遇到了字元c則...

C語言中可變參函式介紹與示例

在使用c語言程式設計的時候,函式中形式引數的數目通常是確定的,在呼叫時要依次給出與形式引數對應的所有實際引數,但在某些情況下,我們希望函式的引數個數可以根據需要來確定 例如常見的printf 函式,它的函式引數個數就是不確定的 這時我們就需要可變參函式了。採用 ansi 標準形式時,可變參函式的原型...

C語言中time函式的定義及用法示例

標頭檔案time.h 函式名稱 localtime 函式原型 struct tm localtime const time t timer 函式功能 返回乙個以tm結構表達的機器時間資訊 函式返回 以tm結構表達的時間 struct tm include include include intmai...