下面的程式闡述了值傳遞與應用傳遞的區別。
package com.liaojianya.chapter1;/** * this program demonstrates the use of array reference.
* @author liao jianya
* 2023年7月21日
*/public class arrayreference;
system.out.println("----------before invoking changerefervalue method-----------");
print(x, arr);
changerefervalue(x, arr);
system.out.println("----------after invoking changerefervalue method-----------");
print(x, arr); }
public static void changerefervalue(int a, int chgarr)
public static void printarr(int arr)
system.out.println(); }
public static void print(int x, int arr)
}
執行結果:
----------before invoking changerefervalue method-----------x = 100
arr: 1 2 3 4 5 6
----------after invoking changerefervalue method-----------
x = 100
arr: 0 0 0 4 5 6
分析:1)由於整型形參a和實參x之間是值傳遞關係,所以不改變x的本身的值,只是在changerefervalue方法中,將x為100的這個值賦給了a,a += 1;後,是a 加了1,對x沒有任何的影響。
2)而對形參arr所指向的陣列資料的任何修改,都會同步影響到main方法中的實參arr所指向的陣列資料,這是英文傳引用,實參和形參都是指向同一塊記憶體空間。
值傳遞,引用傳遞,指標傳遞
最近一直被c 的值傳遞,引用傳遞,指標傳遞這些概念所困擾,一直沒有乙個能說清他們之間的關係通過乙個簡單的例項,或者說淺顯的說法,找了一些相關資料,和自已的個人感受,簡單介紹一下,希望高人指正 c 中傳遞引數的方式有三種 傳引數的值 稱為值傳遞,簡稱傳值 傳引數的位址 稱為位址傳遞,簡稱為傳址 和引用...
值傳遞,引用傳遞,指標傳遞
值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。指標傳遞 形參為指向實參位址的指標,當對形參的指向操作時,就相當於對實參本身進行的操作。引...
指標傳遞 引用傳遞 值傳遞
用指標變數可以表示各種資料結構,能很方便地使用陣列,字串和鍊錶。並不是直接運算元據,而且它可以直接和記憶體打交道,使用稍有不慎,就會造成程式崩潰。使用指標的好處 1 在資料傳輸時,如果資料塊較大,這時就可以使用指標傳遞位址而不是實際資料。提高傳輸速度,又節省大量記憶體。2 在資料結構中,鍊錶 樹 圖...