二、傳值呼叫(call by value)與傳址呼叫(call by address)的差異為何?試以兩數對調 的問題撰寫程式說明之。(20 分)

詳解 (共 1 筆)

詳解 提供者:hchungw
傳值呼叫 (Call by Value) 與 傳址呼叫 (Call by Address) 的差異
傳值呼叫 (Call by Value)
在傳值呼叫中,函數接收的是參數的副本。這意味著在函數內對參數的修改不會影響到原來的變量。
傳址呼叫 (Call by Address)
在傳址呼叫中,函數接收的是參數的地址。這意味著在函數內對參數的修改會直接影響到原來的變量,因為函數操作的是變量的地址。
以兩數對調為例來說明
傳值呼叫範例
在傳值呼叫中,變量的值會被傳遞給函數,但函數內的更改不會影響到原來的變量。