function 參數傳遞方式
先來說明第一種方式:
call by value / pass by value
直接舉個例子來看
86 這是個很有趣的現象,我們上述例子的用意在於希望把 x, y 的值交換,先把 a 指向 temp ( 我們預留的空位 ),把 b 指向給 a ,最後再把 temp 指向給 b。但是其實上述的例子並沒有真的把
x
和y
的值進行交換,因為我們拿出來交換的東西並不是真正的x
和y
,而是x
和y
的值的副本。可以把我們宣告的
a
和b
想像成兩個新的變數,只是剛好存的值與x
和y
一樣,所以就算改變了a
也不會改變x
,因為他們本身就是不同的變數 ( 記憶體位置打從一開始就不同 ) 。