版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、函數(shù)名與函數(shù)指針一通常的函數(shù)調(diào)用通常的函數(shù)調(diào)用一個通常的函數(shù)調(diào)用的例子:自行包含頭文件voidMyFun(intx)此處的聲明也可寫成:voidMyFun(int)intmain(intargcargv[])MyFun(10)這里是調(diào)用MyFun(10)函數(shù)return0voidMyFun(intx)這里定義一個MyFun函數(shù)printf(“%d\n”x)這個MyFun函數(shù)是一個無返回值的函數(shù),它并不完成什么事情。這種調(diào)用函數(shù)的格式你應(yīng)
2、該是很熟悉的吧!看主函數(shù)中調(diào)用MyFun函數(shù)的書寫格式:MyFun(10)我們一開始只是從功能上或者說從數(shù)學(xué)意義上理解MyFun這個函數(shù),知道MyFun函數(shù)名代表的是一個功能(或是說一段代碼)。直到學(xué)習(xí)到函數(shù)指針概念時。我才不得不在思考:函數(shù)名到底又是什么東西呢?(不要以為這是沒有什么意義的事噢!呵呵,繼續(xù)往下看你就知道了。)二函數(shù)指針變量的聲明函數(shù)指針變量的聲明就象某一數(shù)據(jù)變量的內(nèi)存地址可以存儲在相應(yīng)的指針變量中一樣,函數(shù)的首地址也以
3、存儲在某個函數(shù)指針變量里的。這樣,我就可以通過這個函數(shù)指針變量來調(diào)用所指向的函數(shù)了。在C系列語言中,任何一個變量,總是要先聲明,之后才能使用的。那么,函數(shù)指針變量也應(yīng)該要先聲明吧?那又是如何來聲明呢?以上面的例子為例,我來聲明一個可以指向MyFun函數(shù)的函數(shù)指針變量FunP。下面就是聲明FunP變量的方法:void(FunP)(int)也可寫成void(FunP)(intx)你看,整個函數(shù)指針變量的聲明格式如同函數(shù)MyFun的聲明處一樣
4、,只不過我們把MyFun改成(FunP)而已,這樣就有了一個能指向MyFun函數(shù)的指針FunP了。(當(dāng)然,這個FunP指針變量也可以指向所有其它具有相同參數(shù)及返回值的函數(shù)了。)三通過函數(shù)指針變量調(diào)用函數(shù)通過函數(shù)指針變量調(diào)用函數(shù)有了FunP指針變量后,我們就可以對它賦值指向MyFun,然后通過FunP來調(diào)用MyFun函數(shù)了??次胰绾瓮ㄟ^FunP指針變量來調(diào)用MyFun函數(shù)的:自行包含頭文件voidMyFun(intx)這個聲明也可寫成:v
5、oidMyFun(int)看來與之前的代碼有點(diǎn)矛盾了,是吧!所以我說嘛!請容許我暫不給你解釋,繼續(xù)看以下幾種情況(這些可都是可以正確運(yùn)行的代碼喲!):代碼之三:intmain(intargcargv[])MyFun(10)這里是調(diào)用MyFun(10)函數(shù)FunP=將MyFun函數(shù)的地址賦給FunP變量FunP(20)這是通過函數(shù)指針變量來調(diào)用MyFun函數(shù)的。return0代碼之四:intmain(intargcargv[])MyFun
6、(10)這里是調(diào)用MyFun(10)函數(shù)FunP=MyFun將MyFun函數(shù)的地址賦給FunP變量(FunP)(20)這是通過函數(shù)指針變量來調(diào)用MyFun函數(shù)的。return0真的是可以這樣的噢?。ㄍ郏≌媸且獣灥沽耍。┻€有吶!看代碼之五:intmain(intargcargv[])(MyFun)(10)看,函數(shù)名MyFun也可以有這樣的調(diào)用格式return0你也許第一次見到吧:函數(shù)名調(diào)用也可以是這樣寫的?。。ㄖ徊贿^我們平常沒有這樣書寫罷
7、了。)那么,這些又說明了什么呢?呵呵!依據(jù)以往的知識和經(jīng)驗來推理本篇的“新發(fā)現(xiàn)”,我想就連“福爾摩斯”也必定會由此分析并推斷出以下的結(jié)論:1.其實(shí),MyFun的函數(shù)名與FunP函數(shù)指針都是一樣的,即都是函數(shù)指針。MyFun函數(shù)名是一個函數(shù)指針常量,而FunP是一個函數(shù)數(shù)指針變量,這是它們的關(guān)系。2.但函數(shù)名調(diào)用如果都得如(MyFun)(10);這樣,那書寫與讀起來都是不方便和不習(xí)慣的。所以C語言的設(shè)計者們才會設(shè)計成又可允許MyFun(1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- excel函數(shù)名表
- c語言庫函數(shù)函數(shù)名 帶目錄+索引
- word中常見函數(shù)名稱
- 關(guān)于指針函數(shù)的范例
- (八)冪函數(shù)指數(shù)函數(shù)與對數(shù)函數(shù)
- c++學(xué)習(xí)筆記(13)——利用對象、引用、指針調(diào)用虛函數(shù)
- oracle最全函數(shù)大全(分析函數(shù)-聚合函數(shù)-轉(zhuǎn)換函數(shù)-日期型函數(shù)-字符型函數(shù)-數(shù)值型函數(shù)-其他函數(shù))
- 函數(shù)與基本初等函數(shù)i
- 原函數(shù)與導(dǎo)函數(shù)的關(guān)系
- 函數(shù)與分析二次函數(shù)
- 指數(shù)函數(shù)與對數(shù)函數(shù)
- 二次函數(shù)與分段函數(shù)
- 函數(shù)與分析(二次函數(shù))
- 函數(shù)圖像與函數(shù)方程(學(xué)生版)
- 引函數(shù)微分與反函數(shù)微分
- 指數(shù)函數(shù)、對數(shù)函數(shù)、冪函數(shù)的圖像與性質(zhì)
- 指數(shù)函數(shù)、對數(shù)函數(shù)、冪函數(shù)單元復(fù)習(xí)與鞏固
- 專題二 函數(shù)概念與基本初等函數(shù) 第四講指數(shù)函數(shù)對數(shù)函數(shù)冪函數(shù)
- 函數(shù)與分析(一次函數(shù))
- php使用網(wǎng)絡(luò)函數(shù)與協(xié)議函數(shù)
評論
0/150
提交評論