华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
全國  |             |          |          |          |          |         
  當(dāng)前位置:計(jì)算機(jī)等級 > 二級考試 > C語言程序設(shè)計(jì) > C語言輔導(dǎo) > 文章內(nèi)容
  

全國計(jì)算機(jī)等級考試二級C語言入門教程(72)

中華IT學(xué)院   【 】  [ 2016年1月27日 ]

函數(shù)的參數(shù)

前面已經(jīng)介紹過,函數(shù)的參數(shù)分為形參和實(shí)參兩種。 在本小節(jié)中,進(jìn)一步介紹形參、實(shí)參的特點(diǎn)和兩者的關(guān)系。
形參出現(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ù)傳送。

函數(shù)的形參和實(shí)參具有以下特點(diǎn):

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ì)變化。例 5.3可以說明這個(gè)問題。
void main()
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n);
printf("n=%d\n",n);
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
}


本程序中定義了一個(gè)函數(shù)s,該函數(shù)的功能是求Σni=1i 的值。在主函數(shù)中輸入 n值,并作為實(shí)參,在調(diào)用時(shí)傳送給 s
函數(shù)的形參量n( 注意,本例的形參變量和實(shí)參變量的標(biāo)識符都為n, 但這是兩個(gè)不同的量,各自的作用域不同)。 在
主函數(shù)中用printf 語句輸出一次 n值,這個(gè) n值是實(shí)參 n的值。在函數(shù) s中也用printf 語句輸出了一次 n值,這個(gè)
n值是形參最后取得的 n值0。從運(yùn)行情況看,輸入n值為100。即實(shí)參 n的值為100。把此值傳給函數(shù) s時(shí),形參 n 的
初值也為100,在執(zhí)行函數(shù)過程中,形參 n的值變?yōu)?050。 返回主函數(shù)之后,輸出實(shí)參 n的值仍為100?梢妼(shí)參的
值不隨形參的變化而變化。

分享到:
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2006-2017 中華考試網(wǎng)(Examw.com) All Rights Reserved  營業(yè)執(zhí)照
临泽县| 清涧县| 丰顺县| 桃园市| 荔浦县| 信宜市| 磴口县| 彰武县| 石嘴山市| 含山县| 洛扎县| 措勤县| 永泰县| 彰武县| 晋江市| 江源县| 唐河县| 方山县| 平阳县| 石棉县| 巫山县| 怀来县| 乌拉特前旗| 达州市| 盐亭县| 瑞丽市| 鄄城县| 永丰县| 太湖县| 鄂尔多斯市| 滁州市| 车险| 扶绥县| 松原市| 琼海市| 鄂尔多斯市| 都匀市| 南陵县| 古丈县| 藁城市| 积石山|