實(shí)參(argument):
全稱為"實(shí)際參數(shù)"是在調(diào)用時(shí)傳遞給函數(shù)的參數(shù). 實(shí)參可以是常量橄维、變量忌堂、表達(dá)式盒至、函數(shù)等, 無(wú)論實(shí)參是何種類型的量士修,在進(jìn)行函數(shù)調(diào)用時(shí)枷遂,它們都必須具有確定的值, 以便把這些值傳送給形參棋嘲。 因此應(yīng)預(yù)先用賦值酒唉,輸入等辦法使實(shí)參獲得確定值。
形參(parameter):
全稱為"形式參數(shù)" 由于它不是實(shí)際存在變量沸移,所以又稱虛擬變量痪伦。是在定義函數(shù)名和函數(shù)體的時(shí)候使用的參數(shù),目的是用來(lái)接收調(diào)用該函數(shù)時(shí)傳入的參數(shù).在調(diào)用函數(shù)時(shí),實(shí)參將賦值給形參雹锣。因而流妻,必須注意實(shí)參的個(gè)數(shù),類型應(yīng)與形參一一對(duì)應(yīng)笆制,并且實(shí)參必須要有確定的值绅这。
形式參數(shù):形參是函數(shù)被調(diào)用時(shí)用于接收實(shí)參值的變量。
根據(jù)實(shí)際需要可有可無(wú)在辆。沒(méi)有形參時(shí)证薇,圓括號(hào)也不可识忍Α;多個(gè)參數(shù)之間應(yīng)用逗號(hào)分隔浑度。參數(shù)包括參數(shù)名和參數(shù)類型寇窑。
形參的類型說(shuō)明可有如下兩種格式:
int max(int a,int b)/形參的類型在形參表中直接說(shuō)明/
{ return (a>b?a:b);}
或
int max(a,b)
inta,b; /形參的類型在函數(shù)體前、函數(shù)名后說(shuō)明/
{ return(a>b?a:b); }
前者為標(biāo)準(zhǔn)格式箩张,后者為傳統(tǒng)格式甩骏,通常用前者。
形參和實(shí)參的區(qū)別
形參出現(xiàn)在函數(shù)定義中先慷,在整個(gè)函數(shù)體內(nèi)都可以使用饮笛, 離開(kāi)該函數(shù)則不能使用。
實(shí)參出現(xiàn)在主調(diào)函數(shù)中论熙,進(jìn)入被調(diào)函數(shù)后福青,實(shí)參變量也不能使用。
形參和實(shí)參的功能是作數(shù)據(jù)傳送脓诡。發(fā)生函數(shù)調(diào)用時(shí)无午, 主調(diào)函數(shù)把實(shí)參的值傳送給被調(diào)函數(shù)的形參從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送。
1.形參變量只有在被調(diào)用時(shí)才分配內(nèi)存單元祝谚,在調(diào)用結(jié)束時(shí)宪迟, 即刻釋放所分配的內(nèi)存單元。因此交惯,形參只有在函數(shù)內(nèi)部有效次泽。 函數(shù)調(diào)用結(jié)束返回
主調(diào)函數(shù)后則不能再使用該形參變量。
2.實(shí)參可以是常量商玫、變量、表達(dá)式牡借、函數(shù)等拳昌, 無(wú)論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時(shí)钠龙,它們都必須具有確定的值炬藤, 以便把這些值傳送給形
參。 因此應(yīng)預(yù)先用賦值碴里,輸入等辦法使實(shí)參獲得確定值沈矿。
3.實(shí)參和形參在數(shù)量上,類型上咬腋,順序上應(yīng)嚴(yán)格一致羹膳, 否則會(huì)發(fā)生“類型不匹配”的錯(cuò)誤。
4.函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳送是單向的根竿。 即只能把實(shí)參的值傳送給形參陵像,而不能把形參的值反向地傳送給實(shí)參就珠。 因此在函數(shù)調(diào)用過(guò)程中,形參的值
發(fā)生改變醒颖,而實(shí)參中的值不會(huì)變化妻怎。
5.當(dāng)形參和實(shí)參不是指針類型時(shí),在該函數(shù)運(yùn)行時(shí)泞歉,形參和實(shí)參是不同的變量逼侦,他們?cè)趦?nèi)存中位于不同的位置,形參將實(shí)參的內(nèi)容復(fù)制一份腰耙,在該
函數(shù)運(yùn)行結(jié)束的時(shí)候形參被釋放榛丢,而實(shí)參內(nèi)容不會(huì)改變。
而如果函數(shù)的參數(shù)是指針類型變量,在調(diào)用該函數(shù)的過(guò)程中沟优,傳給函數(shù)的是實(shí)參的地址涕滋,在函數(shù)體內(nèi)部使用的也是實(shí)參的地址,即使用的就是實(shí)參
本身挠阁。所以在函數(shù)體內(nèi)部可以改變實(shí)參的值宾肺。