形參和實參的區別是什麼,c語言中形參和實參是什麼意思?有什麼區別?

2021-08-26 05:09:55 字數 2156 閱讀 5962

1樓:淳于長順印黛

實參是用來填充形參的。當函式被呼叫時,形參列在函式名後面的括號裡。執行函式呼叫時,實參被傳遞給形參。

1、形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。

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

3、實參和形參在數量上,型別上、順序上應嚴格一致,否則就會發生型別不匹配的錯誤。

4、在一般傳值呼叫的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函式呼叫過程中,形參值發生改變,而實參中的值不會變化。而在引用呼叫的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。

例如:當你進行函式呼叫的時候,add(1,

2),這裡的1和2就是實參。

擴充套件資料:

形參和實參的特點:

1、形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。

2、實參可以是常量、變數、表示式、函式等,無論實參是何種型別的量,在進行函式呼叫時,它們都必須有確定的值,以便把這些值傳送給形參。

3、實參和形參在數量上,型別上、順序上應嚴格一致,否則就會發生型別不匹配的錯誤。

4、在一般傳值呼叫的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參

參考資料:

搜狗百科-形參

搜狗百科-實參

2樓:

形參 是定義方法、函式時使用的,形參定義了引數的型別,和在方法內部是如何使用的。

實參 是使用方法、函式時傳入給方法、函式的引數。

c語言中形參和實參是什麼意思?有什麼區別?

3樓:舜茵戰韶容

引數傳遞主要用於模組化程式設計中。如果不瞭解引數傳遞是無法編寫出正確的呼叫函式的。形參就是形式引數,用一個變數代表大家。實參就是實際引數,用一個

確切的數值代替形式引數,可以是表示式。實際引數與形式引數的引數個數、型別和順序都應一樣,如果不一樣的話,系統會強制轉換,這樣會造成資料的丟失。實

參向形參的傳遞是值的傳遞。

這個值就是對實參的表示式進行計算的結果,它可以是常量值、變數值、陣列元素、函式值等。如果實參是陣列名了,那麼它傳送的就是地址的值了。比如:

double

power(double

x,int

n)定義一個雙精度引數

power(3.0,5)呼叫x

n是形參,3.0,5是實參。如果上面定義的是整形

double

power(int

x,int

n),下面呼叫的是power(3.3,5)那麼實參中3.3會被轉換成3,一部分資料丟失了。

4樓:叔曼華登申

形參,全稱為"形式引數"是在定義函式名和函式體的時候使用的引數,目的是用來接收呼叫該函式時傳遞的引數.

實參,可以是常量、變數、表示式、函式等,

無論實參是何種型別的量,在進行函式呼叫時,它們都必須具有確定的值,以便把這些值傳送給形參。

5樓:甕素蘭撒酉

呼叫函式時是實參,因為它是具體的數值;

被調函式中是形參(可以理解為變數或容量),因為它要接受不同的資料;

6樓:手機使用者

形參就是形式引數,用一個變數代表大家。實參就是實際引數,用一個 確切的數值代替形式引數,可以是表示式。實際引數與形式引數的引數個數、型別和順序都應一樣,如果不一樣的話,系統會強制轉換,這樣會造成資料的丟失。

實 參向形參的傳遞是值的傳遞。

這個值就是對實參的表示式進行計算的結果,它可以是常量值、變數值、陣列元素、函式值等。如果實參是陣列名了,那麼它傳送的就是地址的值了。比如:

double power(double x ,int n)定義一個雙精度引數

power(3.0,5) 呼叫

x n 是形參,3.0,5是實參。如果上面定義的是整形 double power(int x ,int n),下面呼叫的是power(3.

3,5)那麼實參中3.3會被轉換成3,一部分資料丟失了。

在C語言中,當形參和實參都為指標時,在函式中傳遞的是地址嗎

是的,指標這玩意兒,就是專門和地址掛鉤的!這程式是你寫的嗎?要是你寫的話 你就看下面的三段話 就能找出。1.比如你定義一個函式void add int a,int b 這裡的a和b就是形參。2.當你進行函式呼叫的時候,add 1,2 這裡的1和2就是實參。3.形參就是沒有賦值的變數,實參就是有賦值的...

vb中形參和實參的區別,vb中形參和實參的區別是什麼?

在函式或過程中定義的引數叫形參,呼叫函式時傳入的引數叫實參。在vb中,傳遞變數就是傳地址,除非指定傳值,即byval 過程或函式中的形式引數沒有特別指明是傳址方式還是傳值方式,隱含的是傳址。實際呼叫時,還要根據實參的形式,才能確定是傳值還是傳址的資料傳送方式。若實參為常量或表示式,則為傳值的傳遞方式...

在C語言中,指標是怎樣通過形參改變實參的?怎樣理解?如果此處難講清楚,可以讀什麼文章?請指教

這個要從傳值和傳指標呼叫區別說起.首先,每個函式的形參,都相當於一個函式的區域性變數.那麼傳值呼叫時,比如函式 fun int a 的時候,呼叫fun b 相當於新建了一個區域性變數int a b 然後 改變a的值自然不會改變b.而傳指標呼叫,比如 fun int p 這時呼叫fun q q是另外一...