函式引數按數值傳遞和按位址傳遞

2021-08-10 06:29:53 字數 510 閱讀 8077

函式中我們引數傳遞在很多情況下都是傳遞變數的數值,然後根據這個數值在函式體內進行運算或return或輸出某些我們想要得到的東西,但是有些特殊情況我們不容易通過傳遞數值的方式得到我們需要得到的東西,比如通過乙個學生買課id我們可以得到這個課程的名稱和這個課程的名稱,如果這個函式在乙個類內部,我們可以設定乙個屬性或者兩個屬性然後執行這個方法賦值,然後再使用,如果不在類內部,我想我們就選擇使用兩個方法分別得到名稱和課程名稱或者將兩者寫入乙個陣列中return出來,但是這只是理想狀態下,如果我們要得到三個值甚至三個陣列,我們應該怎麼辦?

這裡就需要用函式引數的位址傳遞了,它的核心思想是對變數自身的增加不受制於區域性變數的控制!

通過位址傳遞引數需要用到&符號!示例:

function prevnext (int x, int& prev, int& next)

int x=100, y, z;

prevnext (x, y, z);

雖然這個示例很短小,但是很清晰的表明了上面一段話的意思,相信聰明的人能夠得到提示!

Python函式引數 按值傳遞和按引用傳遞

首先簡單說明一下,python中按值傳遞與按引用傳遞的區別 按值引數傳遞是指乙個變數的值來取代乙個函式引數的做法。如果這個值在函式 組中改變,對於呼叫這個函式的 來說,其中相應的變數值並不會受到任何影響,可以把這個引數認為是原變數值的乙個副本。按引用引數傳遞是指對於呼叫這個函式的 會維護這個 中變數...

Python按值傳遞引數和按引用傳遞引數

python按值傳遞引數和按引用傳遞引數 按值傳遞引數 使用乙個變數的值 數字,字串 放到實參的位置上 注 傳遞過去的是變數的副本,無論副本在函式中怎麼變,變數的值都不變 傳遞常量 傳遞常量 定義乙個函式,輸出 歡迎,接收到的引數 name defhuanying name print 歡迎 nam...

scala 引數傳遞 按值傳遞 按名傳遞

package leetcode import scala.util.random object function args def getrandom call by name 按名傳遞,傳入引數變數名,如果runbyname內部用到,再去求值 f string int long表示 該無參函式的...