下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
本文格式為Word版,下載可任意編輯——C函數(shù)指針學(xué)習(xí)教程C++函數(shù)指針學(xué)習(xí)教程
每一個(gè)函數(shù)都占用一段內(nèi)存單元,它們有一個(gè)起始地址,指向函數(shù)入口地址的指針?lè)Q為函數(shù)指針。下面是我共享的C++函數(shù)指針學(xué)習(xí)教程,一起來(lái)看一下吧。
語(yǔ)法
數(shù)據(jù)類型*指針變量名參數(shù)表:
int*myFuncdoubleb,intc;
說(shuō)明
函數(shù)指針的定義形式中的數(shù)據(jù)類型是指函數(shù)的返回值的類型。
區(qū)分下面兩個(gè)語(yǔ)句:
int*pinta,intb;//p是一個(gè)指向函數(shù)的指針變量,所指函數(shù)的返回值類型為整型
int*pinta,intb;//p是函數(shù)名,此函數(shù)的返回值類型為整型指針
指向函數(shù)的指針變量不是固定指向哪一個(gè)函數(shù)的,而只是表示定義了一個(gè)這樣類型的變量,它是特意用來(lái)存放函數(shù)的入口地址的';在程序中把哪一個(gè)函數(shù)的地址賦給它,它就指向哪一個(gè)函數(shù)。
在給函數(shù)指針變量賦值時(shí),只需給出函數(shù)名,而不必給出參數(shù)。
如函數(shù)max的原型為:intmaxintx,inty;指針p的定義為:int*pinta,intb;那么p=max;的作用是將函數(shù)max的入口地址賦給指針變量p。這時(shí),p就是指向函數(shù)max的指針變量,也就是p和max都指向函數(shù)的開(kāi)頭。
在一個(gè)程序中,指針變量p可以先后指向不同的函數(shù),但一個(gè)函數(shù)不能賦給一個(gè)不一致的函數(shù)指針(即不能讓一個(gè)函數(shù)指針指向與其類型不一致的函數(shù))。
如有如下的函數(shù):
intfn1intx,inty;intfn2intx;
定義如下的函數(shù)指針:
int*p1inta,intb;int*p2inta;
那么
p1=fn1;//正確
p2=fn2;//正確
p1=fn2;//產(chǎn)生編譯錯(cuò)誤
定義了一個(gè)函數(shù)指針并讓它指向了一個(gè)函數(shù)后,對(duì)函數(shù)的調(diào)用可以通過(guò)函數(shù)名調(diào)用,也可以通過(guò)函數(shù)指針調(diào)用(即用指向函數(shù)的指針變量調(diào)用)。
如語(yǔ)句:c=*pa,b;//表示調(diào)用由p指向的函數(shù)max,實(shí)參為a,b,函數(shù)調(diào)用終止后得到的函數(shù)值賦給c。
函數(shù)指針只能指向函數(shù)的入口處,而不成能指向函數(shù)中間的某一條指令。不能用*p+1來(lái)表示函數(shù)的下一條指令。
函數(shù)指針變量常用的用途之一是把指針作為參數(shù)傳遞到其他函數(shù)。
函數(shù)指針使用舉例
說(shuō)明看代碼解釋就可以
#includeiostream
usingnamespacestd;
classtest
public:
test
coutconstructorendl;
intfun1inta,charc
coutthisisfun1call:acendl;
returna;
voidfun2doubledconst
coutthisisfun2call:dendl;
staticdoublefun3charbuf[]
coutthisisfun3call:bufendl;
return3.14;
;
intmain
//類的靜態(tài)成員函數(shù)指針和c的指針的用法一致
double*pstaticcharbuf[]=NULL;//不需要加類名
pstatic=test::fun3;//可以不加取地址符號(hào)
pstaticmyclaa;
pstatic=test::fun3;
*pstaticxyz;
//普遍成員函數(shù)
inttest::*pfunint,char=NULL;//確定要加類名
pfun=test::fun1;//確定要加取地址符號(hào)
testmytest;
mytest.*pfun1,a;//調(diào)用是確定要加類的對(duì)象名和*符號(hào)
//const函數(shù)(根本普遍成員函數(shù)一致)
voidtest::*pconstdoubleconst=NULL;//確定要加const
pconst=test::fun2;
testmytest2;
mytest2.*pconst3.33;
////構(gòu)造函數(shù)或者析構(gòu)函數(shù)的指針,貌似不成以,不知道c++標(biāo)準(zhǔn)有沒(méi)有規(guī)定不能有指向這兩者的函數(shù)指針
//
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026浙江溫州市樂(lè)清市城衛(wèi)清潔服務(wù)有限公司長(zhǎng)期招聘考試備考題庫(kù)及答案解析
- 浙商銀行嘉興分行2026年一季度社會(huì)招聘筆試模擬試題及答案解析
- 2026陜西商洛柞水縣縣直部分空編單位選調(diào)(選聘)11人筆試參考題庫(kù)及答案解析
- 2026年新能源汽車維修技能提升課
- 2026年加油站員工應(yīng)急演練指南
- 2026內(nèi)蒙古通遼市扎魯特旗敦德諾爾露天煤業(yè)有限公司招聘12人筆試備考題庫(kù)及答案解析
- 2026年度安徽國(guó)際商務(wù)職業(yè)學(xué)院省直事業(yè)單位公開(kāi)招聘工作人員19名筆試備考試題及答案解析
- 2026上半年貴州事業(yè)單位聯(lián)考省農(nóng)業(yè)科學(xué)院招聘18人筆試備考試題及答案解析
- 2026年房地產(chǎn)中介帶看流程優(yōu)化
- 2026年體育賽事組織管理培訓(xùn)
- QGDW10384-2023輸電線路鋼管塔加工技術(shù)規(guī)程
- 《養(yǎng)老機(jī)構(gòu)智慧運(yùn)營(yíng)與管理》全套教學(xué)課件
- 2025年本科院校圖書(shū)館招聘面試題
- 電子商務(wù)畢業(yè)論文5000
- 2025-2026學(xué)年人教版(2024)初中生物八年級(jí)上冊(cè)教學(xué)計(jì)劃及進(jìn)度表
- 醫(yī)療衛(wèi)生輿情課件模板
- 高壓注漿施工方案(3篇)
- 高強(qiáng)混凝土知識(shí)培訓(xùn)課件
- (高清版)DB11∕T 1455-2025 電動(dòng)汽車充電基礎(chǔ)設(shè)施規(guī)劃設(shè)計(jì)標(biāo)準(zhǔn)
- 暖通工程施工環(huán)保措施
- 宗族團(tuán)年活動(dòng)方案
評(píng)論
0/150
提交評(píng)論