2013.06.18
Call by address傳址呼叫
主程式的三數稱為實際參數(actual parameter),而副程式的參數則稱
為形式參數(formal parameter)
主程式呼叫副程式時,只把實際參數的位址(Address)傳給副程式,使主副程
式的相對參數站用相同的記憶體位置,因此被呼叫程式在執行過程中,
若副程式參數值改變則相對印的主成式參數值也會改變,一般稱為
Side effect(副效應)

Call by name(傳名呼叫)
主程式參數稱為實際參數(actual parameter),而副程式的參數則稱為形
式(formal parameter)
主程式呼叫副程式時,除了把實際參數的名稱(name)傳給副程式外,並取
代整個副程式相對應之參數名稱
這種方法除了相對應參數佔相同記憶體位址外,尚須改便所有副程式相對參
數名稱,故在繫結數度上較Call-by-address(binding)稍慢,但較call by
value為快
這種方法因為容易產生不預期的結果,且破壞力強,故少用

Call by value-result(傳值-結果呼叫)
除了上述可把執行結果傳回呼叫程式外,在執行過程外,被呼叫程式可以去引用呼叫程式的實際參數actual parameter,並不會改變其值,因此在執行過成中沒有Side effect 發生,被呼叫程式執行完畢後再把結果傳回呼叫程式 继续阅读
comment 0 trackback 0