『壹』 c語言 形參實參
實參:調用的地方使用的變數,可以是變數,也可以是常量
形參:聲明函數的地方或者直接寫子函數代碼的地方用的
如
int f(int m) //m是形參
{
return m++; //這里m也是形參
}
main()
{
int a=5,b,c;
b=f(a); //這里a是實參
c=f(3); //這里3是實參
}
這樣知道什麼是實參,什麼是形參了吧
其實不管哪裡是實參,哪裡是形參,這個定義名字真的無所謂,我就經常記不住,但是你只要知道怎麼用即可
注意幾個地方,對於參數
1、可以同名,但是不建議實參和形參同名
雖然同名可以使用,但是容易混淆
同名時,就是變數作用域的問題,有點難以把握,容易出錯
2、實參和形參不在同一個內存空間中(除非實參用&來取地址直接傳遞過去,這個c中一般不講,c++中才講)。
這里產生的效果就是在子函數中改變形參的值,不會改變實參的值
&取地址時,那麼形參需要指針形式,因為參數是要地址。因為同在一個內存地址中,所以可以改變實參的值
『貳』 C語言中形參和實參的問題
test1的形參是int *型指針p,函數中並沒有對形參p做什麼修改,p[5]=20;是修改了形參指針p指向的目標起第5個元素的值,那不就是把6改成20了嗎?
『叄』 c語言中形參和實參的區別百度知道
比如對於int a = 3, 如果你有個形參x指代著a, 有個實參y也指代著a,那麼你如果把x賦值為2, a的值是不會變化的,但是你如果把y的值變為2, a的值就也會變為2.
形參嘛,就是形式上的參數,形參的更改不能引起它指代的數據的改變
『肆』 C語言實參和形參可以是什麼
當你定義函數時,那時候的函數參數就叫做「形參」,因為它們沒有任何實際內容。實際使用函數時,那時候參數就叫做「實際」了。
intadd(inta,intb){......}
此時,a與b就叫做形參。
intc=add(5,3)中,5與3就是實參。
第一個函數中有兩個參數,可能不易理解。換個形式看一下。
func(a+b,c+d+e)中,你應該知道是兩個參數。
(exp1,exp2)類似於a+b,也是個表達式,只不過它的運算符是逗號運算符。逗號運算符的結果是最後一個表達式。(exp1,exp2)運算結果就是exp2.
(exp3,exp4,exp5)等於exp5。
函數2是個遞歸調用函數,理解起來稍有些復雜。函數2中,前兩個參數容易懂。因為fun是個函數,它能得到一個數,這個數算出來後,再作為一個參數。
第三個參數fun(n+k,d,(a,b))中,(a,b)仍然是逗號表達式,作為第三個參數。
如果你不懂遞歸調用,我可能就白啰嗦了。
『伍』 C語言中的形參和實參的定義是什麼有什麼區別
函數定義時候寫的參數就是形參
調用函數,傳遞進取的參數就是實參
舉個例子吧,假設你定義一個
我要吃糖的函數:
void
我要吃糖(string
某種糖)
這個就是形參了,因為這里只是個形式,並沒有指明是給你什麼糖吃,所以是形參
我要吃糖(棉花糖)
這個就是實參了,這樣你就吃到棉花糖(實參)了
『陸』 C語言形參和實參問題
實參也是一個,並不是兩個
fg(n) fg(m) fg(n-m) 對於每一次的函數調用,實參都只是一個
第一次傳入n的值,第二次傳入m的值,第三次傳入n-m的值
至於第二個問題,要看運算符的優先順序
=優先順序最低,/和*的優先順序一樣,從左向右計算
因此先計算fg(n),再計算fg(m),然後再計算fg(n)/fg(m)
後續再計算fg(n-m),最後做乘法,然後結果賦值給t
『柒』 C語言形參和實參的區別
形參,就是定義函數時的參數。
實參,就是調用函數時候傳給函數的參數。
printf("%d,%d"x,y);應改為 printf("%d,%d",x,y);
但是函數QE並不會改變x和y的值。
需要使用指針。
int QE(int* a,int *b)
{
*a =1;
*b=2;
}
調用的時候,
QE(&x,&y);
『捌』 c語言中形參和實參的區別
函數的形參和實參區別如下:
1. 形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。函數調用結束返回主調函數後則不能再使用該形參變數。
2. 實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使實參獲得確定值。
3. 實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生類型不匹配」的錯誤。
4. 函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化。
實參(argument):
全稱為"實際參數"是在調用時傳遞給函數的參數. 實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
形參(parameter):
全稱為"形式參數" 由於它不是實際存在變數,所以又稱虛擬變數。是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳入的參數.在調用函數時,實參將賦值給形參。因而,必須注意實參的個數,類型應與形參一一對應,並且實參必須要有確定的值。
形式參數:形參是函數被調用時用於接收實參值的變數。
根據實際需要可有可無。沒有形參時,圓括弧也不可省;多個參數之間應用逗號分隔。參數包括參數名和參數類型。
『玖』 c語言中形參與實參的區別
形參。。你就當是寫函數的時候對傳入變數的別名好了。
實參。。程序運行的時候實際傳入的值。會給形參賦值。
『拾』 C語言中什麼是形參,什麼是實參
形參:全稱為「形式參數」是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳遞的參數。
形參的作用是實現主調函數與被調函數之間的聯系,通常將函數所處理的數據,影響函數功能的因素或者函數處理的結果作為形參。
實參:全稱為"實際參數"是在調用時傳遞給函數的參數,即傳遞給被調用函數的值。
實參可以是常量、變數、表達式、函數等, 無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應預先用賦值,輸入等辦法使實參獲得確定值。
(10)c語言形參擴展閱讀:
形參和實參的特點:
1、形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只在函數內部有效。函數調用結束返回主調用函數後則不能再使用該形參變數。
2、實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須有確定的值,以便把這些值傳送給形參。因此應預先用賦值,輸入等辦法使參數獲得確定值。
3、實參和形參在數量上,類型上、順序上應嚴格一致,否則就會發生類型不匹配的錯誤。
4、在一般傳值調用的機制中只能把實參傳送給形參,而不能把形參的值反向地傳送給實參。因此在函數調用過程中,形參值發生改變,而實參中的值不會變化。而在引用調用的機制當中是將實參引用的地址傳遞給了形參,所以任何發生在形參上的改變實際上也發生在實參變數上。
參考資料來源:網路-形參
參考資料來源:網路-實參