[C/C++基礎]-函數指標介紹
線上執行:
https://www.tutorialspoint.com/compile_cpp_online.php
●“函數指標”是指向函數的指標變數,因而“函數指標”本身首先應是指標變數。
●只不過該指標變數指向函數。這正如用指標變數可指向整型變數、字元型、陣列一樣,這裏是指向函數。
●如前所述,C/C++在編譯時,每一個函數都有一個進入點位址,該進入點位址就是函數指標所指向的位址。
●有了指向函數的指標變數後,可用該指標變數呼叫函數,就如同用指標變數可引用其他類型變數一樣,在這些概念上一致的。
●函數指標有兩個用途:呼叫函數和做函數的參數。
Code
#includeusing namespace std; void procreation(int,void (*run)(char*,int)); /* 以函數指標為參數 */ void slow_run_shoes(char*,int); void leisure_shoes(char*,int); void spiked_shoes(char*,int); int main() { int procreation_number;/* 生產項目代號1~3 */ int size;/* 尺寸 */ procreation_number=2; size=8; switch(procreation_number) { case 1: procreation(size,slow_run_shoes); /* 參數列中傳入函數slow_run_shoes的位址 */ break; case 2: procreation(size,leisure_shoes); /* 參數列中傳入函數leisure_shoes的位址 */ break; case 3: procreation(size,spiked_shoes); /* 參數列中傳入函數spiked_shoes的位址 */ break; default: cout <