當前位置:生活全書館 >

生活小竅門

> 值傳遞和地址傳遞

值傳遞和地址傳遞

按值傳遞:在過程被呼叫時,傳遞給形參的是呼叫過程中的相應實參的值,形參與實參各佔有不同位置的儲存空間,被呼叫過程在執行過程中,改變了形參變數的值,但不會呼叫過程的實參值。 

值傳遞和地址傳遞

按地址傳遞:就是當呼叫一個過程時,是把實參變數的記憶體地址傳遞給被呼叫過程的形參,也就是說形參與實參使用相同地址的內存單元。因此當在被呼叫過程中改變形參的值,就等於改變了實參的值。

按值傳遞時,實質上實參a只是把一個副本傳遞給形參x,也可以直接理解為傳遞的結果是讓x*2中的x的值等於10(即a的值),乘以2後再賦值(賦值不用解釋吧)給x,即實際上w方法的運算並沒有對a本身進行操作。所以呼叫w方法前後a值始終等於10,而w方法得到的結果是20。

按址傳遞時,實質上實參a是把指標(地址)傳遞給形參x,這個指標指向的地址的值即是10,此時a與x分別有一個指標同時指向10所在地址,即實際上w方法對a本身直接進行了操作(a自身參與運算)。所以呼叫w方法前後a值分別等於10和20,而w方法得到的結果是依然是20。

標籤: 地址 傳遞
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/xiaoqiaomen/45ye4z.html