聲明定義函數(shù)時(shí)的參數(shù)是形式參數(shù)
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蘭西企業(yè)網(wǎng)站建設(shè),蘭西品牌網(wǎng)站建設(shè),網(wǎng)站定制,蘭西網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,蘭西網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
調(diào)用函數(shù)使用時(shí)傳入的參數(shù)是實(shí)際參數(shù)
比如說(shuō)聲明一個(gè)函數(shù):
int fun(int num);
這里的num就是形式參數(shù)。
調(diào)用一個(gè)函數(shù):x = fun(num);
這里的num就是實(shí)際參數(shù)。
函數(shù)的參數(shù)分為形參和實(shí)參兩種。
形參出現(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ù)傳送。
舉個(gè)例子:
定義一個(gè)函數(shù)s=f(a,b),功能是將a和b的差賦值給s,那么,a和b就是這個(gè)函數(shù)的兩個(gè)參數(shù)。
擴(kuò)展資料:
C語(yǔ)言的參數(shù)傳遞方式
方法有3種方式:值傳遞、地址傳遞、引用傳遞
tips:
被調(diào)用函數(shù)的形參只有函數(shù)被調(diào)用時(shí)才會(huì)臨時(shí)分配存儲(chǔ)單元,一旦調(diào)用結(jié)束占用的內(nèi)存便會(huì)被釋放
值傳遞和地址傳遞,傳遞的都是實(shí)參的一個(gè)拷貝
C語(yǔ)言中實(shí)參和形參之間的數(shù)據(jù)傳遞是單向的“值傳遞”,單向傳遞,只能由實(shí)參傳給形參,反之不行
輸出格式并沒(méi)有選擇%p而是選擇了%d,因?yàn)槭M(jìn)制的數(shù)看起來(lái)更直觀。
值傳遞
如果只是傳遞值的話:
#include stdio.h
//值傳遞傳值
void swap( int x, int y);
int main()
{
int a=2,b=3;
printf("before:實(shí)參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
swap(a,b);
printf("after:實(shí)參為a,b\na=%d,地址為%d\nb=%d,地址為%d\n\n",a,a,b,b);
return 0;
}
void swap(int x,int y)
{
int tmp;
tmp=x;
x=y;
y=tmp;
printf("inside:形參為x,y\nx=%d,地址為%d\ny=%d,地址為%d\n\n",x,x,y,y);
}
形式參數(shù)就是定義函數(shù)時(shí)候的參數(shù)表,只是定義了調(diào)用時(shí)參數(shù)的個(gè)數(shù)、類型和用來(lái)引用的名字,并沒(méi)有具體的內(nèi)容。形參未被調(diào)用時(shí),不占存儲(chǔ)單元。形參只在調(diào)用過(guò)程中占用存儲(chǔ)單元。
在調(diào)用函數(shù)時(shí),給形參分配存儲(chǔ)單元,實(shí)參可以是常量、變量或者表達(dá)式,且要與形參類型一致!而且實(shí)參要有確定的值,在調(diào)用過(guò)程中實(shí)參將值賦給形參,并將實(shí)際參數(shù)對(duì)應(yīng)的數(shù)值傳遞給形式參數(shù);
調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍然保留
并且維持原值。所以說(shuō),實(shí)參是調(diào)用函數(shù)傳遞的具體數(shù)據(jù)。實(shí)參對(duì)形參數(shù)據(jù)傳遞時(shí)時(shí)單向傳遞。在存儲(chǔ)單元中是不同的單元。
下面這段程序中
#includestdio.h
int
fun(int
a,int
b)
{a+=10;
b=a+b*2;
return
a+b;
}
void
main()
{
int
x=3,y=5,z;
z=fun(x,y);
printf("%d
%d
%d\n",x,y,z);
}
a和b都是形式參數(shù),x和y都是實(shí)際參數(shù)。
程序從主函數(shù)開(kāi)始運(yùn)行,等到運(yùn)行到z=fun(x,y)開(kāi)始調(diào)用被調(diào)用函數(shù),以被調(diào)用函數(shù)的形式進(jìn)行運(yùn)算,然后把計(jì)算的值返回后賦值給z,這樣一個(gè)運(yùn)算就算完成了。在調(diào)用過(guò)程中,形參a和b的值都發(fā)生了改變,但是在main函數(shù)中,x和y的值都未發(fā)生變化。所以說(shuō)實(shí)參向形參的值的傳遞是單向的。
本文題目:c語(yǔ)言函數(shù)實(shí)際的參數(shù),c語(yǔ)言函數(shù)參數(shù)
當(dāng)前URL:http://aaarwkj.com/article28/dsishjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、搜索引擎優(yōu)化、網(wǎng)站改版、App開(kāi)發(fā)、網(wǎng)站設(shè)計(jì)、自適應(yīng)網(wǎng)站
聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)