<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    int (*fp)(int a);//這里就定義了一個(gè)指向函數(shù)的指針 。初學(xué)C++ ,以代碼作為學(xué)習(xí)筆記。

    /函數(shù)指針
    /******************************************************************************************
    #include "stdafx.h"
    #include <iostream>?
    #include <string>?
    using namespace std;?

    int test(int a);?

    int _tmain(int argc,_TCHAR* argv[])???
    {?
    ?cout << test << endl;//顯示函數(shù)地址?
    ?int (*fp)(int a);?
    ?fp = test;//將函數(shù)test的地址賦給函數(shù)學(xué)指針fp?
    ?cout << fp(5) << "|" << (*fp)(10) << endl;?
    ?//上面的輸出fp(5),這是標(biāo)準(zhǔn)c++的寫法,(*fp)(10)這是兼容c語言的標(biāo)準(zhǔn)寫法,兩種同意,但注意區(qū)分,避免寫的程序產(chǎn)生移植性問題!?
    ?return 0;
    }?

    int test(int a)?
    {?
    ?return a;?
    }
    ******************************************************************************************/
    //函數(shù)指針,以typedef 形式定義了一個(gè)函數(shù)指針類型
    /******************************************************************************************
    #include "stdafx.h"
    #include <iostream>?
    #include <string>?

    using namespace std;?

    int test(int a);?

    int _tmain(int argc,_TCHAR* argv[])???
    {?
    ?cout<<test<<endl;?
    ?typedef int (*fp)(int a);//注意,這里不是生命函數(shù)指針,而是定義一個(gè)函數(shù)指針的類型,這個(gè)類型是自己定義的,類型名為fp?
    ?fp fpi;//這里利用自己定義的類型名fp定義了一個(gè)fpi的函數(shù)指針!?
    ?fpi=test;?
    ?cout<<fpi(5)<<"|"<<(*fpi)(10)<<endl;?
    ?return 0;
    }?

    int test(int a)?
    {?
    ?return a;?
    }
    ******************************************************************************************/
    //函數(shù)指針作為參數(shù)的情形。
    /******************************************************************************************
    #include "stdafx.h"
    #include <iostream>???
    #include <string>

    using namespace std;???

    int test(int);???

    int test2(int (*ra)(int),int);?

    int _tmain(int argc,_TCHAR* argv[])?????
    {???
    ?cout << test << endl;?
    ?typedef int (*fp)(int);???
    ?fp fpi;?
    ?fpi = test;//fpi賦予test 函數(shù)的內(nèi)存地址?

    ?cout << test2(fpi,1) << endl;//這里調(diào)用test2函數(shù)的時(shí)候,這里把fpi所存儲(chǔ)的函數(shù)地址(test的函數(shù)地址)傳遞了給test2的第一個(gè)形參?
    ?return 0;
    }???

    int test(int a)?
    {???
    ?return a-1;?
    }?

    int test2(int (*ra)(int),int b)//這里定義了一個(gè)名字為ra的函數(shù)指針?
    {?
    ?int c = ra(10)+b;//在調(diào)用之后,ra已經(jīng)指向fpi所指向的函數(shù)地址即test函數(shù)?
    ?return c;?
    }
    ******************************************************************************************/
    #include "stdafx.h"
    #include <iostream>???
    #include <string>???
    using namespace std;?

    void t1(){cout<<"test1";}?
    void t2(){cout<<"test2";}?
    void t3(){cout<<"test3";}?
    int _tmain(int argc,_TCHAR* argv[])?????
    {?
    ?void* a[]={t1,t2,t3};?
    ?cout<<"比較t1()的內(nèi)存地址和數(shù)組a[0]所存儲(chǔ)的地址是否一致"<<t1<<"|"<<a[0]<<endl;?

    ?//cout<<a[0]();//錯(cuò)誤!指針數(shù)組是不能利用數(shù)組下標(biāo)操作調(diào)用函數(shù)的?

    ?typedef void (*fp)();//自定義一個(gè)函數(shù)指針類型?
    ?fp b[]={t1,t2,t3}; //利用自定義類型fp把b[]定義趁一個(gè)指向函數(shù)的指針數(shù)組?
    ?b[0]();//現(xiàn)在利用指向函數(shù)的指針數(shù)組進(jìn)行下標(biāo)操作就可以進(jìn)行函數(shù)的間接調(diào)用了;?
    ?return 0;
    }

    posted on 2008-04-08 23:38 -274°C 閱讀(282) 評(píng)論(1)  編輯  收藏 所屬分類: C++


    FeedBack:
    # re: C++ 之函數(shù)指針
    2008-12-22 10:38 | @
    //typedef int pHelloWorld();
    //pHelloWorld *pHello = (pHelloWorld *)::GetProcAddress(hDll, "HelloWorld");
    typedef int (*pHelloWorld)();
    pHelloWorld pHello = (pHelloWorld)::GetProcAddress(hDll, "HelloWorld");
      回復(fù)  更多評(píng)論
      

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊(cè)

    JAVA網(wǎng)站

    關(guān)注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914351
    • 排名 - 40

    最新評(píng)論

    主站蜘蛛池模板: 亚洲尹人九九大色香蕉网站| 中文字幕手机在线免费看电影 | 免费成人福利视频| 亚洲不卡中文字幕无码| 亚洲国产成人九九综合| 国产精品永久免费10000| 亚洲色图综合网站| 成人午夜免费福利视频| 色婷五月综激情亚洲综合| 久久久久久久久久免免费精品| 亚洲成年人免费网站| 亚洲日本在线免费观看| 91成人免费观看网站| 国产亚洲精品精华液| 国产免费一区二区视频| 91久久亚洲国产成人精品性色| 青青青视频免费观看| 亚洲午夜福利717| 久久国产乱子免费精品| 2020年亚洲天天爽天天噜| 日韩一区二区在线免费观看| 免费很黄无遮挡的视频毛片| 亚洲无av在线中文字幕| 69国产精品视频免费| 亚洲精品色播一区二区| 亚洲人成电影网站国产精品| 国产精品免费看久久久| 亚洲精品123区在线观看| 亚洲第一页综合图片自拍| 在线人成免费视频69国产| 亚洲日韩AV一区二区三区四区| 国产真人无码作爱视频免费| 日韩精品亚洲人成在线观看| 天天看免费高清影视| 国产免费福利体检区久久| 亚洲精品国产情侣av在线| 国产大片91精品免费看3| 黄网站色视频免费在线观看的a站最新| 国产啪精品视频网站免费尤物| 亚洲中文字幕视频国产| 永久免费无码网站在线观看个|