形參和實參的區別
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的出現有效避免了這種情況的出現,只需拷貝一次就夠了。
形參和實參
函式的引數分為形參和實參兩種。形參 出現在函式定義中,在整個 函式體內都可以使用,離開該函式則不能使用。實參出現在主調函式中,進入被調函式後,實參變數也不能使用。形參和實參的功能是作 資料傳送 發生函式呼叫 時,主調函式把實參的值傳送給被調函式的形參從而實現主調函式向被調函式的 資料傳送 函式的形參...
形參和實參
形參 全稱為 形式引數 是在定義函式名和函式體的時候使用的引數,目的是用來接收呼叫該函式時傳遞的引數。形參的作用是實現主調函式與被調函式之間的聯絡,通常將函式所處理的資料,影響函式功能的因素或者函式處理的結果作為形參。沒有形參的函式在形參表的位置應該寫void.main 函式也可以有形參和返回值,其...
形參和實參
形參 全稱為 形式引數 是在定義函式名和函式體的時候使用的引數,目的是用來接收呼叫該函式時傳遞的引數。形參的作用是實現主調函式與被調函式之間的聯絡,通常將函式所處理的資料,影響函式功能的因素或者函式處理的結果作為形參。沒有形參的函式在形參表的位置應該寫void.main 函式也可以有形參和返回值,其...