引用傳遞也是值傳遞

2022-08-09 03:18:19 字數 765 閱讀 8123

其實之前就懂這個東西,但今天突然就想寫下來記錄一下。

1.首先說 aa作為物件的引用傳入swap函式,則對aa的內部操作確實可以影響到外部a的引用指向的值。

但b傳入的引用bb也可以操作b的值,但bb指向了aa,這樣一來,bb就跟b指向的不是同乙個東西了,所以b的值不會改變。

public

class

testobject

public

static

void

main(string args)

public

static

void

swap(testobject aa, testobject bb);

}

輸出: 6 5

2.當b為陣列時,傳入的bb雖然也是b的另乙個副本(都指向了陣列的首位址),但bb[0] 卻跟 b[0] 是同乙個東西(都是陣列首位址的那個值,雖然這個值存的是其他testobject物件的引用位址),bb[0]引用的改變也就改變了b[0]的引用(事實上他們就是乙個東西)。

public

class

testobject

public

static

void

main(string args)

public

static

void

swap(testobject aa, testobject bb);

}

輸出: 6 6

引用傳遞 值傳遞

下面的程式闡述了值傳遞與應用傳遞的區別。package com.liaojianya.chapter1 this program demonstrates the use of array reference.author liao jianya 2016年7月21日 public class ar...

值傳遞,引用傳遞,指標傳遞

最近一直被c 的值傳遞,引用傳遞,指標傳遞這些概念所困擾,一直沒有乙個能說清他們之間的關係通過乙個簡單的例項,或者說淺顯的說法,找了一些相關資料,和自已的個人感受,簡單介紹一下,希望高人指正 c 中傳遞引數的方式有三種 傳引數的值 稱為值傳遞,簡稱傳值 傳引數的位址 稱為位址傳遞,簡稱為傳址 和引用...

值傳遞,引用傳遞,指標傳遞

值傳遞 形參是實參的拷貝,改變形參的值並不會影響外部實參的值。從被呼叫函式的角度來說,值傳遞是單向的 實參 形參 引數的值只能傳入,不能傳出。當函式內部需要修改引數,並且不希望這個改變影響呼叫者時,採用值傳遞。指標傳遞 形參為指向實參位址的指標,當對形參的指向操作時,就相當於對實參本身進行的操作。引...