之前一直以為傳陣列和基本型別都是傳的值,今天做題時發現傳陣列傳的其實是引用。
public
class tests ;
change1(s);
for (int i : s)
system.out.println();
change2(s);
for (int i : s)
system.out.println();
}// 傳遞的引用,直接修改內容,,s+0,s+1的值被改變
private
static
void
change1(int s)
// 傳遞的也是引用,但s=b無法改變s的指標,所以s內容不會變
private
static
void
change2(int s) ;
s = b;
}}
輸出內容
6 7 3 4 56 7 3 4 5
C 中陣列作為形參的方法
有兩種傳遞方法,一種是function int a 另一種是function int a 這兩種兩種方法在函式中對陣列引數的修改都會影響到實參本身的值!對於第一種,根據之前所學,形參是實參的乙份拷貝,是區域性變數。但是陣列是個例外,因為陣列的資料太多了,將其一一賦值既麻煩又浪費空間,所以陣列作為引數...
C 中陣列作為形參的方法
有兩種傳遞方法,一種是function int a 另一種是function int a 這兩種兩種方法在函式中對陣列引數的修改都會影響到實參本身的值!對於第一種,根據之前所學,形參是實參的乙份拷貝,是區域性變數。但是陣列是個例外,因為陣列的資料太多了,將其一一賦值既麻煩又浪費空間,所以陣列作為引數...
陣列作為形參
在函式傳遞值的過程中,一般都是值傳遞但是陣列確實傳遞的指標,這樣主要用於避免過多資料複製占用過多的記憶體空間。我們在設定函式的時候可以使用 int puta const int geta,int s a 來避免原始陣列受到修改,如此的話修改會報錯 input.cpp in function int ...