引用傳遞 值傳遞

2022-06-05 17:24:10 字數 1124 閱讀 9695

下面的程式闡述了值傳遞與應用傳遞的區別。

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 在資料結構中,鍊錶 樹 圖...