討論值傳遞與引用傳遞

2021-09-25 16:28:07 字數 829 閱讀 5272

值傳遞(pass by value)是指在呼叫函式時將實際引數複製 乙份傳遞到函式中,這樣在函式中如果對 引數 進行修改,將不會影響到實際引數。

public class test 

public static void test(int y)

}

輸出:

10

public class test 

public static void test(int y)

}

輸出:

10由上面可以看出只是把x的值10傳給了test方法,在方法中進行的運算對x本身沒有影響。

引用傳遞(pass by reference)是指在呼叫函式時將實際引數的位址直接傳遞到函式中,那麼在函式中對 引數 所進行的修改,將影響到實際引數。

public class test ;

test(x);

system.out.println(x[0]);//輸出0 }

public static void test(int y)

}

輸出:

0public class test ;

test(x);

for(int m:x)

}public static void test(int y) {

for(int i=0;i輸出:

11 12 13 14 15 16

由上面可以看出引用傳遞將陣列x的位址傳給方法,可以對原陣列的值進行修改。

引用傳遞與值傳遞

看 define n 10000 define n 10000 ini set memory limit 1g function microtime float function printarray0 arr 引用傳遞 function printarray1 arr 值傳遞 for i 0 i ...

值傳遞與引用傳遞

分析 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。由於x 1 是在test方法棧裡面執行的,所以只會改變test方法棧裡面的x值,而不會改變main方法棧裡面的x值 形參的改變不會影響實參 引用傳遞,傳遞的是實際引數的位址.傳遞的是值的引用,也就是說傳遞前和傳遞後都指向同乙個引用 同乙個記...

值傳遞與引用傳遞

值傳遞,只是傳遞副本,而引用傳遞,是傳遞乙個位址 using system using system.collections.generic using system.linq using system.text v console.writeline 引用傳遞,結果為!r static void ...