張弘毅
張弘毅國中數學,張弘毅數學,張弘毅老師,張弘毅教學dvd
ckmojwea
暱稱: 美女
性別: 女
國家: 台灣
地區: 其他地區
«‹ December 2015 ›»
SMTWTFS
12345
6789101112
13141516171819
20212223242526
2728293031
最新文章
•&'lt;MOOI& s HOME s...
•<
•:) :)
•*規避*
•&*~可惜不是你--梁...
文章分類
•全部 (1416)
訪客留言
最近三個月尚無任何留言
每月文章
日誌訂閱
尚未訂閱任何日誌
好友名單
尚無任何好友
網站連結
尚無任何連結
最近訪客
最近沒有訪客
日誌統計
文章總數: 1416
留言總數: 53
今日人氣: 0
累積人氣: 12073
站內搜尋
RSS 訂閱
RSS Feed
我的最愛bb

xyz

xyz軟體補給站

xyz軟體王

xyz軟體補給站

xyz

2012 年 3 月 10 日  星期六   時晴時雨


C 語言的函式指標 實現C語言的多型 分類: 未分類


 

C語言允許透過一個函式指標指向函式記憶體位址,宣告方法如下:

#include <stdio.h>

int func( int a,int b)
{
    return(a+b);
}

int main()
{
    int ans;
    int (*pfunc)(int,int); /* 宣告pfunc函式指標 */
    pfunc = func;           /* pfunc 指向 func函式起始位址*/
    ans = pfunc(2,4);
    printf("ans= %d",ans);

    return  0;
}

 

也可以用typedef的方法來宣告,宣告方法如下:

#include <stdio.h>

int func( int a,int b)
{
    return(a+b);
}
int main()
{
    int ans;
    typedef int (*Tfunc)(int,int);
    Tfunc pfunc;
    pfunc = func;
    ans = pfunc(2,4);
    printf("ans= %d",ans);

    return  0;
}

 

函式指標實現C語言的多型:

#include <stdio.h>

int fun(int *a,void (*funp)(int *a));
int inc(int *a);
int dec(int *a);

int inc(int *a)
{
    ++(*a);
}
int dec(int *a)
{
    --(*a);
}

int fun(int *a,void (*funp)(int *a))       /*funp式函式指標*/
{
    funp(a);
}

int main()
{
    int a =10;

    fun(&a,inc);
    fun(&a,inc);
    fun(&a,inc);

    fun(&a,dec);

    printf("a=%d",a);
    return  0;
}


/*資料一開始為10,結果a為12*/








訪客留言 (返回 ckmojwea 的日誌)

訪客名稱:
電郵地址: (不會公開)
驗證碼:  按此更新驗證碼 (如看不清楚驗證碼請點擊圖片刷新)
俏俏話: (必需 登入 後才能使用此功能)
[ 開啟多功能編輯器 ]