這篇文章主要講解了“c++中函數(shù)指針的介紹”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“c++中函數(shù)指針的介紹”吧!
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、網(wǎng)站設(shè)計、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)葫蘆島,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108指向函數(shù)的指針:
一個函數(shù)在編譯時被分配一個入口地址,這個函數(shù)的入口地址被稱為函數(shù)的指針。
與數(shù)組名代表數(shù)組首元素地址類型,函數(shù)名代表該函數(shù)的入口地址。
定義形式如下:
數(shù)據(jù)類型 (*指針變量名)(函數(shù)參數(shù)列表)
注意:
1.int (*p)(int ,int ) 表示定義一個指向函數(shù)的指針變量p,它不是固定指向哪一個函數(shù),而只是表示定義了這樣一個類型的變量,它是專門來存放函數(shù)的入口地址的,在程序中把哪一個函數(shù)(該函數(shù)的值是整型的,且有兩個整型參數(shù))的地址賦給它,它就指向哪一個函數(shù)。在一個程序中,一個指針變量可以先后指向同類型的不同函數(shù)。
2.給函數(shù)指針變量賦值時,只需要給出函數(shù)名,不需要給出參數(shù)
如p=max;
3.用函數(shù)指針調(diào)用函數(shù)時,只需要將(*p)代替函數(shù)名即可,在(*p)之后的括號中根據(jù)需要寫上實(shí)參。
如:c=(*p)(a,b)
4.對函數(shù)指針變量進(jìn)行p+n,p++,p--等運(yùn)算是無意義的
代碼例子:
// CppTest.cpp : 定義控制臺應(yīng)用程序的入口點(diǎn)。 // #include "stdafx.h" #include <iostream> using namespace std; int max(int x,int y); int min(int x,int y); int sub(int x,int y); int call(int x,int y,int (*p)(int x,int y)); int _tmain(int argc, _TCHAR* argv[]) { cout<<"max:"<<call(5,10,max)<<endl; cout<<"min:"<<call(5,10,min)<<endl; cout<<"sub:"<<call(5,10,sub)<<endl; //cout<<"----------------------------"<<endl; //int (*p)(int ,int); //p=max; //cout<<"max:"<<(*p)(5,10)<<endl; //p=min; //cout<<"min:"<<(*p)(5,10)<<endl; //p=sub; //cout<<"sub:"<<(*p)(5,10)<<endl; return 0; } int max(int x, int y) { if (x>y) { return x; } return y; } int min(int x, int y) { if (x>y) { return y; } return x; } int sub(int x, int y) { return x+y; } int call(int x,int y,int (*p)(int x,int y)) { return (*p)(x,y); }
打印結(jié)果如下:
感謝各位的閱讀,以上就是“c++中函數(shù)指針的介紹”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對c++中函數(shù)指針的介紹這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
本文標(biāo)題:c++中函數(shù)指針的介紹-創(chuàng)新互聯(lián)
本文路徑:http://www.muchs.cn/article4/pccoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、外貿(mào)建站、搜索引擎優(yōu)化、網(wǎng)站排名、企業(yè)建站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容