使用函數,如果參數值基本數據類型,那麼傳遞數據的時候是將數據複製一份傳遞到函數 中. 在函數調用時將複製的數據賦值給函數的形式參數. 由於傳遞的是數據本身,因此常常稱 爲值傳遞。
簡單總結:傳遞的是變量裏存的具體數值(相當於copy了一份)
如:
引用傳遞:
使用指針類型的變量作爲函數的參數,函數在調用的時候傳遞的是變量的地址. 那麼在函數 中使用的變量進行操作,是直接處理地址中存儲的數值,就好比是在操作原始變量的數據. 常常將其稱爲引用傳遞。
簡單總結:傳遞的是變量所在的空間(地址),所以無論在函數外還是函數內操作的都是同一塊空間。
如:
我們清晰地發現,在函數內部使用指針變量更改了原來容器裏的值,主調函數外的實參的值也隨之更改
這是爲什麼呢?因爲傳入指針變量後,實參或形參訪問的都是同一塊地址
如下:
我們可以看到,無論實參還是形參,始終訪問的都是同一塊空間,因此無論實參還是形參所訪問的是同一個值!