引數三種傳遞的區別

2021-06-27 14:25:38 字數 455 閱讀 1693

一.值傳遞

在引數傳遞過程中,如果採用值傳遞方式,那麼形參與實參結合的時候,系統會把實參的值複製乙份給形參.形參的值改變不會引起實參值的變化;

二.引用傳遞

引用相當於給實參取的乙個別名,通過引用訪問到的記憶體單元與實參訪問到的記憶體單元是同一單元,因此引用變數的值改變會引起實參值的變化;應該注意的是,引用變數用在其他的某些場合的時候,一定要先初始化,然後才能用;引用變數在乙個函式中經過初始化指向乙個變數後就不能再用它初始化其他變數.

三.指標傳遞

當用指標做函式引數的時候,實參傳給形參的是實參的位址.這樣形參訪問到的就是實參所在的記憶體單元,形參的值改變,對應的實參的值也會改變.

總結: 1.引數的傳遞方式的選擇,應該根據實際的需要選擇恰當的方式.在不影響函式功能的情況下,可以盡量選擇自己熟悉的方式.引用傳遞和指標傳遞在很多場合下是一樣的,引用傳遞引數不能用於傳遞陣列的首位址.

引數傳遞的三種方式

引數傳遞的三種方式 按值傳遞 include using namespace std void swap int a,int b int main 缺點 記憶體開銷很大。對於傳遞一般引數 如果傳遞的參數量過多,例如8000個引數,則需要在棧中複製8000個引數傳遞過去,棧只有2m的空間,這樣的話棧的...

Action 引數傳遞的三種方式

qtp提供三種引數傳遞方式 parameter environment datatable parameter 函式傳遞引數 如 分別建立兩個同級別 action outputact 將引數傳遞出來 inputact 獲取 ouputact 傳遞出來的引數 在兩個 action 中設定輸出與輸入引數...

c 引數傳遞的三種方式

在 資料結構與演算法分析 c 描述 第16頁提到了c 中三種不同的引數傳遞方式,分別是 1 按常量引用呼叫 call by constant reference 2 按值呼叫 3 引址呼叫 call by reference 上網查了下資料之後 我還是覺得分成這樣三種更便於理解 1 按值呼叫 形如 ...