函式呼叫和傳值呼叫

2021-08-14 06:26:56 字數 366 閱讀 8351

在使用函式時,所有的實參都是通過「傳值」方式傳遞的。這意味著每個實參都被求值,求值結果代替對應的形式引數,並且在函式中作為區域性變數使用。如果乙個變數傳遞給乙個函式,這個變數在呼叫環境中所儲存的值並不會被函式所修改。

#include int compute_sum(int n);

int main(void)

int compute_sum(int n) /* sum the integers from 1 to n */

儘管n被傳遞給compute_sum(),並且n的值在這個函式中被修改,但呼叫環境中n的值仍然保持不變。被傳遞的是n的值,而不是n本身。

傳值呼叫和引用呼叫

值呼叫是指當發生函式呼叫時候,給形參分配記憶體空間,並用實參來初始化形參 直接將實參的值傳遞給形參 這一過程是引數值的單向傳遞過程,一旦形參獲得了值,便於實參脫離了關係,此後無論形參發生了什麼變化,都不影響實參了.引用呼叫將引用作為形參,在執行主調函式中的呼叫語句時候,系統自動用實參來初始化形參.這...

引用呼叫和傳值呼叫

1.傳值呼叫又分為資料傳值呼叫和位址傳值呼叫。資料傳值呼叫方式是將實參的資料值傳遞給形參。實參和形參在棧空間內的位址不相同,改變形參值不影響實參值 位址傳值呼叫方式是將實參的位址值傳遞給形參,實參和形參在棧空間內共用同一位址,改變形參值就可改變實參值。2.引用呼叫是將實參變數值傳遞給形參,而形參是實...

傳值呼叫和傳名呼叫

共用 傳值呼叫和傳名呼叫 var money 100 定義乙個花錢的方法 花錢 def buy unit 查詢 def see 當傳入引數為乙個具體的數值時,引數的值一旦確定,就不會改變。def value x int unit value see 執行結果 money 95 money 95 mo...