形參和實參的區別是什麼並舉例子

時間 2021-08-30 10:37:16

1樓:從頭再來好風彩

一、函式中使用:

形參出現在函式定義中,在整個函式體內都可以使用, 離開該函式則不能使用。

實參出現在主調函式中,進入被調函式後,實參變數也不能使用。

二、呼叫

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

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

三、不是指標型別在記憶體中位置不同:

當形參和實參不是指標型別時,在該函式執行時,形參和實參是不同的變數,他們在記憶體中位於不同的位置,形參將實參的內容複製乙份,在該函式執行結束的時候形參被釋放,而實參內容不會改變。

舉例:1. 比如你定義乙個函式void add(int a, int b),這裡的a和b就是形參。

2. 當你進行函式呼叫的時候,add(1, 2),這裡的1和2就是實參。

擴充套件資料

形參的作用是實現主調函式與被調函式之間的聯絡,通常將函式所處理的資料,影響函式功能的因素或者函式處理的結果作為形參。

沒有形參的函式在形參表的位置應該寫void.main 函式也可以有形參和返回值,其形參也稱為命令列引數,由作業系統在啟動程式時初始化,其返回值傳遞給作業系統。

兩者關係:

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

2樓:匿名使用者

你好main()

int s(int n)

本程式中定義了乙個函式s,該函式的功能是求∑ni的值。在主函式中輸入n值,並作為實參,在呼叫時傳送給s 函式的形參量n( 注意,本例的形參變數和實參變數的識別符號都為n,但這是兩個不同的量,各自的作用域不同)。在主函式中用printf 語句輸出一次n值,這個n值是實參n的值。

在函式s中也用printf 語句輸出了一次n值,這個n值是形參最後取得的n值0。從運**況看,輸入n值為100。即實參n的值為100。

把此值傳給函式s時,形參n的初值也為100,在執行函式過程中,形參n的值變為5050。返回主函式之後,輸出實參n的值仍為100。可見實參的值不隨形參的變化而變化。

3樓:空迵°冷色調

fa(int a) 實

fb(int *p)型

main()

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

淳于長順印黛 實參是用來填充形參的。當函式被呼叫時,形參列在函式名後面的括號裡。執行函式呼叫時,實參被傳遞給形參。1 形參變數只有在被呼叫時才分配記憶體單元,在呼叫結束時,即刻釋放所分配的記憶體單元。因此,形參只在函式內部有效。函式呼叫結束返回主呼叫函式後則不能再使用該形參變數。2 實參可以是常量 ...

c中實參和形參有什麼區別,c 中形參與實參的本質區別是什麼(例如儲存機理等)

無法無天 實參和形參被分配的位址不同。可以這樣比喻,實參是一間別墅,而形參是另一間別墅。實參裡的東西被複製了乙份搬到了形參裡面,而形參這件別墅裡面的東西被扔了或者新增了新的東西是不會對實參這件別墅造成影響的。如果不用指標或者引用,實參只能向形參裡面傳遞東西 值 就好比上面的舉例,實參的東西能拷貝乙份...

舉例子和引用的區別,舉例子的作用是什麼

曉龍老師 舉例子和引用的區別 用法不同 特點不同 性質不同 一 用法不同 1 舉例子 所舉例子要與所說明的問題內容一致,不能似是而非,更不能張冠李戴。所舉例子要儘量典型 有影響力和代表性,以增強說明的效果。所舉例子要通俗易懂,深入淺出,特別是科技說明文更應如此,讓人感覺到有可信度,更能說明事物的特徵...