c c 中的形參與實參

2021-07-10 07:29:24 字數 573 閱讀 9189

1、值傳遞

實參是變數,表示式等值。

find(int x){}

y= find(z);

上面的例子中,z是實參,x是形參。x變z不變。

在值傳遞過程中,實參和形參位於記憶體中兩個不同位址中,實參先自己複製一次拷貝,再把拷貝複製給形參。所以,在值傳遞過程中,形參的變化不會對實參有任何的影響。

2、位址傳遞(也稱引用傳遞)

實參是指標。

在函式呼叫的時候,實參傳遞給你的是指標位址,位址一樣也就意味著實參和形參是一樣的,當你的形參發生改變時,實參也會發生改變。

find(int  &x){}

y= find(z);

上面的例子中,z是實參,x是形參。z隨x而改變。

3、const引用傳遞

find(const int  &x){}

y= find(z);

上面的例子中,z是實參,x是形參。z不隨x而改變。

有人就會問了,你這樣做不是和值傳遞一樣的麼?no!

仔細觀察就會發現,在值傳遞中要進行兩次拷貝,浪費記憶體資源是相當可恥的,const的出現有效避免了這種情況的出現,只需拷貝一次就夠了。

形參與實參

形參與實參 函式的形參與實參 引數概念 a abcdef print len a 什麼是形參 def function1 a,b if a b print a else print b 什麼是實參 function1 1,3 引數的傳遞 第一種,最簡單的傳遞 def function a,b if ...

形參與實參

學習了引數那麼我們最先了解就是引數,而引數分為兩種,形參與實參,形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。實參可以是常量 變數 表示式 函式等,無論實參是何種型別的量,在進行函式呼...

形參與實參

實參 argument 全稱為 實際引數 是在呼叫時傳遞給函式的引數.實參可以是常量 變數 表示式 函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的 值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。形參 parameter 全稱為 形式引數 由於它不是...