程式設計C語言形參與實參是什麼意思

時間 2021-09-15 07:46:34

1樓:圖門雁戴燕

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

實參:全稱為"實際引數"是在呼叫時傳遞個該函式的引數.

形參和實參的型別必須要一致,或者要符合隱含轉換規則,當形參和實參不是指標型別時,在該函式執行時,形參和實參是不同的變數,他們在記憶體中位於不同的位置,形參將實參的內容複製一份,在該函式執行結束的時候形參被釋放,而實參內容不會改變.

而如果函式的引數是指標型別變數,在呼叫該函式的過程中,傳個函式的是實參的地址,在函式體內部使用的也是實參的地址,即使用的就是實參本身.所以在函式體內部可以改變實參的值.

給你一個很簡單的例子:

intf(int

b)/*b為形參*/

main()

2樓:捷遠扈珍

首先。search(float(*p)[4],int

n)這裡的float(*p)[4],這裡的p是指向一個長度為4浮點型的陣列。p即是這個陣列的首地址

另外socre是2維陣列名,那麼即是這個陣列的首地址。

那麼主函式呼叫這個函式後,即相當於p=score,將score賦值給p.

說到這裡,我似乎明白你要表達的意思了。

例如,int

a[8];

int**score

=a;int

b=100;

你在主函式裡這樣呼叫函式.search(score+1,b+200);這裡,p=score+1;n=b+200了

另外你說的第二個問題。search(float(*p)[4],int

2n)假設,主函式裡這樣呼叫函式search(score,100);我猜你要問的是,這裡的n=100呢還是等於50。

很明顯,這裡n=50!因為這兩個n完全沒有關係,是兩個函式裡的。

但是這裡要說明的是,第一2n是不合法的變數名。第二,函式引數必須是變數名,但呼叫函式時可以是表示式。

C語言中形參與實參怎麼傳遞,c語言中形參和實參的區別?

我簡單描述一下 c語言傳遞引數機構是這樣的 非指標類的資料傳遞引數時傳數值,指標類資料傳遞引數時傳地址 這裡陣列名也算指標 比如int max int a,int b 這時候如果呼叫這個函式max x1,x2 僅僅將x1和x2的數值傳遞給函式max,a與x1佔有不同的記憶體區域 int max in...

C語言中的形參表與實參表,是什麼意思

舜茵戰韶容 引數傳遞主要用於模組化程式設計中。如果不瞭解引數傳遞是無法編寫出正確的呼叫函式的。形參就是形式引數,用一個變數代表大家。實參就是實際引數,用一個 確切的數值代替形式引數,可以是表示式。實際引數與形式引數的引數個數 型別和順序都應一樣,如果不一樣的話,系統會強制轉換,這樣會造成資料的丟失。...

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

舜茵戰韶容 引數傳遞主要用於模組化程式設計中。如果不瞭解引數傳遞是無法編寫出正確的呼叫函式的。形參就是形式引數,用一個變數代表大家。實參就是實際引數,用一個 確切的數值代替形式引數,可以是表示式。實際引數與形式引數的引數個數 型別和順序都應一樣,如果不一樣的話,系統會強制轉換,這樣會造成資料的丟失。...