從
成都創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供青島網(wǎng)站建設(shè)、青島做網(wǎng)站、青島網(wǎng)站設(shè)計(jì)、青島網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、青島企業(yè)網(wǎng)站模板建站服務(wù),十年青島做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
語法意義
上說,
形參
是
函數(shù)
內(nèi)部為外部傳進(jìn)來的
參數(shù)
取的名稱,而
實(shí)參
則是函數(shù)外部準(zhǔn)備傳給函數(shù)的參數(shù)的名稱,這兩個(gè)是相對(duì)的從
內(nèi)存
意義上說,形參是函數(shù)內(nèi)的內(nèi)存空間,實(shí)參是函數(shù)外的內(nèi)存空間,每次調(diào)用都要將實(shí)參從函數(shù)外空間復(fù)制到函數(shù)內(nèi)內(nèi)存空間,因此改變形參的值對(duì)于實(shí)參一點(diǎn)影響也沒有。
形參:全稱為"形式參數(shù)"是在定義函數(shù)名和
函數(shù)體
的時(shí)候使用的參數(shù),目的是用來接收調(diào)用該函數(shù)時(shí)傳如的參數(shù).
實(shí)參:全稱為"實(shí)際參數(shù)"是在調(diào)用時(shí)傳遞個(gè)該函數(shù)的參數(shù).
形參和實(shí)參的類型必須要一致,或者要符合隱含轉(zhuǎn)換規(guī)則,
當(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ù)的
過程
中,傳個(gè)函數(shù)的是實(shí)參的地址,在函數(shù)體內(nèi)部使用的也是
實(shí)參的地址,即使用的就是實(shí)參本身.所以在函數(shù)體內(nèi)部
可以改變實(shí)參的值.
可以在函數(shù)內(nèi)使用,請(qǐng)看下面的解釋,希望對(duì)你有幫助。
函數(shù)的參數(shù)分為形參和實(shí)參兩種。
形參出現(xiàn)在函數(shù)定義中,在整個(gè)函數(shù)體內(nèi)都可以使用,離開該函數(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ù)傳送。
有以下區(qū)別:
1、主體不同:實(shí)參在調(diào)用有參函數(shù)時(shí),函數(shù)名后面括號(hào)中的參數(shù)為“實(shí)際參數(shù)”。形參不是實(shí)際存在變量,又稱虛擬變量。
2、目的不同:實(shí)參可以是常量、變量或表達(dá)式,無論實(shí)參是何種類型的量,在進(jìn)行函數(shù)調(diào)用時(shí),都必須具有確定的值,以便把這些值傳送給形參。
需要注意當(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ù)定義時(shí)函數(shù)名后面的括號(hào)中,比如
int max(int x, int y)
{函數(shù)內(nèi)容}
這個(gè)函數(shù),形參就是函數(shù)名max后面括號(hào)里定義的x和y
而實(shí)參全稱實(shí)際參數(shù),是你在這個(gè)函數(shù)之外調(diào)用該函數(shù)的時(shí)候,函數(shù)名后的括號(hào)中的內(nèi)容
比如
main()
{
int a=3,b=4;
int c=max(a,b);
}
在int c=max(a,b)這一行可以看到,實(shí)參就是max括號(hào)后的a和b
形參出現(xiàn)在函數(shù)定義中,在整個(gè)函數(shù)體內(nè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ù)等, 無論實(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)用過程中,形參的值發(fā)生改變,而實(shí)參中的值不會(huì)變化。
在C語言中,形參即為形式參數(shù)。它在整個(gè)函數(shù)編譯的時(shí)候,沒有實(shí)際的數(shù)據(jù)賦于它,僅僅作于定義某個(gè)函數(shù)或者函數(shù)名。
而實(shí)參既為實(shí)際參數(shù)。顧名思義,在函數(shù)中,有一個(gè)特定的數(shù)據(jù)賦值給它,可以作于在函數(shù)中進(jìn)行運(yùn)算。
比如:
void
main()
{
int
a=1,b;
b=function(a);
//a作于在函數(shù)中進(jìn)行運(yùn)算,是實(shí)參
}
int
function(int
c)
//c作于定義function函數(shù),是形參
{}
當(dāng)前標(biāo)題:c語言的形參函數(shù),C語言函數(shù)的形參
本文來源:http://redsoil1982.com.cn/article28/hspccp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、、ChatGPT、關(guān)鍵詞優(yōu)化、企業(yè)網(wǎng)站制作、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)