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