函数返回引用什么意思_【20200917】编程入门第七课,函数(function)
介紹
介紹
福哥今天要給大家講講編程里的重頭戲——函數(shù)(function),有了函數(shù),程序才是程序,為什么這么說(shuō)呢?因?yàn)槿绻麤](méi)有函數(shù)語(yǔ)法,所有重復(fù)工作(包括類(lèi)似工作)都要重復(fù)編寫(xiě)代碼,那樣就失去了編程的價(jià)值。打個(gè)比喻說(shuō):如果程序沒(méi)有函數(shù),就好像做數(shù)學(xué)題沒(méi)有公式一樣,每次做類(lèi)似的題目的時(shí)候,都要從頭去用最原始是方法進(jìn)行解題,這是不可想象的。
所以說(shuō),有了函數(shù),我們編寫(xiě)的程序才可以越做越大,我們才可能做出大型程序。當(dāng)然,如果要做超大型程序,還需要學(xué)會(huì)對(duì)象(class)才行
在c/c++里是支持函數(shù)的,在php里也是支持函數(shù)的,不過(guò)java是純粹的OOP架構(gòu)是沒(méi)有函數(shù)的
函數(shù)語(yǔ)法
函數(shù)可以理解為一個(gè)公式,包含若干未知數(shù)(參數(shù)),未知數(shù)給了參考值,其結(jié)果(返回值)自然就得出來(lái)了,其語(yǔ)法如下
returnValue functionName (argument1, argument2, argument3 ... argumentN)
- returnValue:函數(shù)返回值
- functionName:函數(shù)名稱(chēng)
- arguments:函數(shù)參數(shù)
函數(shù)包括函數(shù)聲明和函數(shù)定義兩個(gè)部分,聲明就是定義函數(shù)名稱(chēng)、參數(shù)、返回值,定義就是實(shí)現(xiàn)函數(shù)里程序邏輯
函數(shù)聲明
函數(shù)聲明的意思就是只定義函數(shù)的名稱(chēng)、參數(shù)、返回值,而不去編寫(xiě)函數(shù)里面的程序邏輯,這在c/c++里有特定的意義,c/c++編程包括 .h(頭文件)和 .cpp(程序文件),函數(shù)聲明寫(xiě)在頭文件里,函數(shù)定義寫(xiě)在程序文件,在發(fā)布程序庫(kù)的時(shí)候函數(shù)定義是編譯成二進(jìn)制的,只能依賴(lài)頭文件里的函數(shù)聲明告訴使用者函數(shù)是什么樣的
函數(shù)定義
函數(shù)定義的意思就是在做好函數(shù)聲明之后開(kāi)始編寫(xiě)函數(shù)里面的程序邏輯,函數(shù)定義也包括函數(shù)名稱(chēng)、參數(shù)、返回值,這在c/c++和php里都是一樣的
c/c++示例
定義了addCapacityToFuge,用來(lái)輸出一句話(huà),再將capacityCont加一
int?addCapacityToFuge(const?char*?capacity,?int?capacityCount)?{????//?print????cout?<php示例
定義了addCapacityToFuge,用來(lái)輸出一句話(huà),再將capacityCont加一
注意:這里php的函數(shù)定義語(yǔ)法稍有不同,除了沒(méi)有參數(shù)類(lèi)型和返回值類(lèi)型外,還需要在函數(shù)名稱(chēng)前面增加function關(guān)鍵字,這有助于php解析器的執(zhí)行效率
function?addCapacityToFuge($capacity,?$capacityCount)?{????//?print????print?"福哥會(huì)寫(xiě)"?.?$capacity?.?"編程代碼";????//?count????$capacityCount++;????return?$capacityCount;}$capacityCount?=?0;$capacityCount?=?addCapacityToFuge("C/C++",?$capacityCount);$capacityCount?=?addCapacityToFuge("Java",?$capacityCount);$capacityCount?=?addCapacityToFuge("PHP",?$capacityCount);print?"福哥會(huì)"?.?$capacityCount?.?"種編程語(yǔ)言!";函數(shù)參數(shù)
函數(shù)參數(shù)構(gòu)成了函數(shù)的價(jià)值重要的組成部分,如果沒(méi)有參數(shù),函數(shù)所做的事情是完全不變的,有了參數(shù)就可以使函數(shù)完成類(lèi)似缺又不完全相同的事情
函數(shù)參數(shù)個(gè)數(shù)
函數(shù)參數(shù)就是一個(gè)一個(gè)的變量定義,一個(gè)函數(shù)理論上可以有無(wú)限多個(gè)參數(shù)
函數(shù)參數(shù)類(lèi)型
函數(shù)參數(shù)的類(lèi)型和我們編程時(shí)候定義一個(gè)變量是基本一樣的,每一個(gè)參數(shù)需要不同的名字,每一個(gè)參數(shù)需要給定參數(shù)類(lèi)型,但是php這種弱類(lèi)型語(yǔ)言不需要指定參數(shù)類(lèi)型
函數(shù)參數(shù)傳入方式
這個(gè)比較難理解,函數(shù)傳入方式有兩種,一種是復(fù)制傳遞(默認(rèn)),另一種是引用傳遞
復(fù)制傳遞
復(fù)制傳遞是默認(rèn)傳遞方式,就是我們傳入的變量在傳入函數(shù)的一瞬間會(huì)被自動(dòng)克隆一份,如果參數(shù)在函數(shù)里面被修改了,不會(huì)影響調(diào)用函數(shù)程序代碼里的變量的值
引用傳遞
引用傳遞和復(fù)制傳遞相反,就是我們傳入的變量在傳入函數(shù)的一瞬間不會(huì)被自動(dòng)克隆,如果參數(shù)在函數(shù)里面被修改了,調(diào)用函數(shù)程序代碼里的變量也會(huì)變化
函數(shù)返回值
函數(shù)在執(zhí)行完成后可以返回一個(gè)變量給調(diào)用這個(gè)函數(shù)的代碼使用,這個(gè)返回的的變量就是函數(shù)返回值
函數(shù)返回值類(lèi)型
函數(shù)返回值的類(lèi)型和我們編程時(shí)候定義的一個(gè)變量是基本一樣的,需要給定返回值類(lèi)型,但是php這種弱類(lèi)型語(yǔ)言不需要參數(shù)類(lèi)型
作用域
這個(gè)作用域比較抽象,打個(gè)比喻說(shuō):一段代碼里會(huì)有很多的變量,如果把這些變量當(dāng)作人的話(huà),就是一群人在一個(gè)空?qǐng)隼?#xff0c;在這個(gè)空?qǐng)隼锩總€(gè)人都可以找到每個(gè)人,人可以被找到的范圍就是這個(gè)人的作用域;函數(shù)假設(shè)是一個(gè)商場(chǎng),商場(chǎng)大門(mén)就是調(diào)用函數(shù)的點(diǎn),在空?qǐng)隼锏娜松虉?chǎng)里是看不到的,商場(chǎng)里的人在空?qǐng)鲆部床坏?#xff0c;所以商場(chǎng)是另一個(gè)作用域
函數(shù)定義的作用域僅僅是函數(shù)定義里面的程序代碼,它和函數(shù)調(diào)用的作用域是不通的,簡(jiǎn)單說(shuō)就是:在函數(shù)調(diào)用的地方定義的變量在函數(shù)定義里面是無(wú)法使用的,反過(guò)來(lái)也是一樣的,在函數(shù)定義里定義的變量在函數(shù)調(diào)用的地方也無(wú)法訪(fǎng)問(wèn)到
注意:在函數(shù)內(nèi)調(diào)用另一個(gè)函數(shù),或者調(diào)用函數(shù)自己,一樣是不同的作用域
總結(jié)
函數(shù)就是一個(gè)處理一些事情的獨(dú)立程序代碼,可以傳入函數(shù)參數(shù)來(lái)實(shí)現(xiàn)類(lèi)似事情的處理操作,可以通過(guò)函數(shù)返回值來(lái)講處理結(jié)果帶回到調(diào)用函數(shù)的程序使用
有了函數(shù),我們就可以編寫(xiě)較為大型的程序了
https://m.tongfu.net/home/35/blog/512757.html
總結(jié)
以上是生活随笔為你收集整理的函数返回引用什么意思_【20200917】编程入门第七课,函数(function)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 罗斯蒙特电磁流量计8723说明书_罗斯蒙
- 下一篇: amd的处理器能兼容idea么_250元