實參與形參的傳遞關係

2021-07-11 09:05:58 字數 705 閱讀 7045

當我們在主調函式中呼叫方法的時候,需要把型別匹配的實際的資料傳入到方法中。傳進去的那個資料就是實參,而在方法定義中接收引數的那個變數就是形參。下面分三種情況討論:

1、傳遞基本資料型別:

這種情況下,實參是把值傳遞給形參,形參在函式中改變值不會影響實參。

2、傳遞實體物件:

這種情況中,實參實際是把物件在堆疊中的位址傳遞給形參。當形參變數呼叫方法改變值時,其實改變的是指向這個物件的值,因此執行完退出函式後,物件的值已經改變,當我們主調函式繼續使用這個物件時,值也會隨之改變了。

3、傳入null:

當我們在傳遞物件的時候,傳入的是乙個null時,即便在函式中傳建乙個例項並指向形參,函式結束後,實參依然是null的。這裡也很好地說明了實參向形參傳遞值是單向的,不管是基本型別還是引用型別,傳遞都是單向的。只是基本型別傳遞的就是值本身,而引用型別傳遞的是引用位址。

下面是實驗的**:

package demo;

public

class testofpiont

void newone(person p)

void change(person p)

void basechange(int x)

class person

}}//結果為:

jack

mike

2

實參與形參

實參 argument 全稱為 實際引數 是在呼叫時傳遞給函式的引數.實參可以是常量 變數 表示式 函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。形參 parameter 全稱為 形式引數 由於它不是實...

python 實參與形參

從名字就可以看出,實參是乙個實實在在存在的引數,是實際占用記憶體位址的,而形參只是意義上的一種引數,在定義的時候是不佔記憶體位址的,如在下面例子中,username就是乙個形參,尼古拉斯趙四是我在呼叫函式時傳入的乙個實參,它的值被儲存在形參username中。def user username 內部...

形參與實參值傳遞

形參變數只有在被函式呼叫的時候才分配記憶體單元,呼叫結束後即刻釋放所分配的記憶體單元。也就是在函式被呼叫時申請空間,此函式執行完後釋放空間。用如下 舉例 include void exchange int m,int n void exchange int m,int n int main 執行完之...