函式指標作為某個函式的引數
阿新 • • 發佈:2018-12-30
函式指標變數是一個變數,可以作為某個函式的引數來使用的。
一個例項: 設計一個 CallMyFun 函式,這個函式可以通過引數中的函式指標值不同來分別呼叫 MyFun1、MyFun2、MyFun3 這三個函式(注:這三個函式的定義格式應相同)。
點選(此處)摺疊或開啟
-
#include<stdio.h>
-
void MyFun1(int x);
-
void MyFun2(int x);
-
void MyFun3(int x);
-
typedef void (*FunType)(int ); /* ②. 定義一個函式指標型別FunType,與①函式型別一致 */
-
void CallMyFun(
-
int main(int argc, char* argv[])
-
{
-
CallMyFun(MyFun1,10); /* ⑤. 通過
CallMyFun 函式分別呼叫三個不同的函式 */
-
CallMyFun(MyFun2,20);
-
CallMyFun(MyFun3,30);
-
return 0;
-
}
-
void CallMyFun(FunType fp,int x) /* ③. 引數fp的型別是
FunType。*/
-
{
-
fp(x);/* ④ . 通過fp的指標執行傳遞進來的函式,注意fp所指的函式是有一個引數的。 *
-
}
-
void MyFun1(int x) /* ①. 這是個有一個引數的函式,以下兩個函式也相同。 */
-
{
-
printf("函式MyFun1 中輸出:%d\n",x);
-
}
-
void MyFun2(int x)
-
{
-
printf("函式MyFun2 中輸出:%d\n",x);
-
}
-
void MyFun3(int x)
-
{
- printf("函式MyFun3 中輸出:%d\n",x);
- }