例如:你自己定義一個函數(shù)intmax(inta,intb){...}
創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的貴州網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
在這里a,b就是形參,接下來你會調(diào)用max函數(shù),如:
voidmain()
{
intc,intd;
.....
max(c,d);
}
這里cd就是實參
所謂形參就是在函數(shù)定義體中的參數(shù)
所謂實參就是在調(diào)用函數(shù)時實際傳進函數(shù)的參數(shù)
例如:你自己定義一個函數(shù)
int
max(int
a,int
b){...
}
在這里a,b就是形參,接下來你會調(diào)用max函數(shù),如:
void
main()
{
int
c,int
d;
.....
max(c,d);
}
這里c
d就是實參
所謂形參就是在函數(shù)定義體中的參數(shù)
所謂實參就是在調(diào)用函數(shù)時實際傳進函數(shù)的參數(shù)
形參全稱形式參數(shù),位置是寫在函數(shù)定義時函數(shù)名后面的括號中,比如
int max(int x, int y)
{函數(shù)內(nèi)容}
這個函數(shù),形參就是函數(shù)名max后面括號里定義的x和y
而實參全稱實際參數(shù),是你在這個函數(shù)之外調(diào)用該函數(shù)的時候,函數(shù)名后的括號中的內(nèi)容
比如
main()
{
int a=3,b=4;
int c=max(a,b);
}
在int c=max(a,b)這一行可以看到,實參就是max括號后的a和b
形參:全稱為"形式參數(shù)"是在定義函數(shù)名和函數(shù)體的時候使用的參數(shù),目的是用來接收調(diào)用該函數(shù)時傳如的參數(shù).
實參:全稱為"實際參數(shù)"是在調(diào)用時傳遞個該函數(shù)的參數(shù).
形參和實參的類型必須要一致,或者要符合隱含轉(zhuǎn)換規(guī)則,
當(dāng)形參和實參不是指針類型時,在該函數(shù)運行時,形參和實
參是不同的變量,他們在內(nèi)存中位于不同的位置,形參將實
參的內(nèi)容復(fù)制一份,在該函數(shù)運行結(jié)束的時候形參被釋放,
而實參內(nèi)容不會改變.
而如果函數(shù)的參數(shù)是指針類型變量,在調(diào)用該函數(shù)的過程
中,傳個函數(shù)的是實參的地址,在函數(shù)體內(nèi)部使用的也是
實參的地址,即使用的就是實參本身.所以在函數(shù)體內(nèi)部
可以改變實參的值.
給你一個很簡單的例子:
int f(int b) /*b為形參*/
{ return b;}
main()
{int a=1;
printf("%d",f(a));/*a為實參*/
}
形參是在定義函數(shù)名和函數(shù)體的時候使用的參數(shù),目的是用來接收調(diào)用該函數(shù)時傳遞的參數(shù)。實參是一個確定的值。
void sort(int arr[], int n)中arr[]和n就是形參,sort(arr[5], 5)中arr[5]和5就是實參
形參出現(xiàn)在函數(shù)定義中,在整個函數(shù)體內(nèi)都可以使用, 離開該函數(shù)則不能使用。實參出現(xiàn)在主調(diào)函數(shù)中,進入被調(diào)函數(shù)后,實參變量也不能使用。 形參和實參的功能是作數(shù)據(jù)傳送。發(fā)生函數(shù)調(diào)用時, 主調(diào)函數(shù)把實參的值傳送給被調(diào)函數(shù)的形參從而實現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。
1.形參變量只有在被調(diào)用時才分配內(nèi)存單元,在調(diào)用結(jié)束時, 即刻釋放所分配的內(nèi)存單元。因此,形參只有在函數(shù)內(nèi)部有效。 函數(shù)調(diào)用結(jié)束返回主調(diào)函數(shù)后則不能再使用該形參變量。
2.實參可以是常量、變量、表達式、函數(shù)等, 無論實參是何種類型的量,在進行函數(shù)調(diào)用時,它們都必須具有確定的值, 以便把這些值傳送給形參。 因此應(yīng)預(yù)先用賦值,輸入等辦法使實參獲得確定值。
3.實參和形參在數(shù)量上,類型上,順序上應(yīng)嚴(yán)格一致, 否則會發(fā)生“類型不匹配”的錯誤。
4.函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的。 即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數(shù)調(diào)用過程中,形參的值發(fā)生改變,而實參中的值不會變化。