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...