值傳遞和引用傳遞

值傳遞: 
使用函數,如果參數值基本數據類型,那麼傳遞數據的時候是將數據複製一份傳遞到函數 中. 在函數調用時將複製的數據賦值給函數的形式參數. 由於傳遞的是數據本身,因此常常稱 爲值傳遞。

簡單總結:傳遞的是變量裏存的具體數值(相當於copy了一份) 

如:


引用傳遞:
使用指針類型的變量作爲函數的參數,函數在調用的時候傳遞的是變量的地址. 那麼在函數 中使用的變量進行操作,是直接處理地址中存儲的數值,就好比是在操作原始變量的數據. 常常將其稱爲引用傳遞。
 
 簡單總結:傳遞的是變量所在的空間(地址),所以無論在函數外還是函數內操作的都是同一塊空間。


如:


我們清晰地發現,在函數內部使用指針變量更改了原來容器裏的值,主調函數外的實參的值也隨之更改


這是爲什麼呢?因爲傳入指針變量後,實參或形參訪問的都是同一塊地址
  
如下:


我們可以看到,無論實參還是形參,始終訪問的都是同一塊空間,因此無論實參還是形參所訪問的是同一個值!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章