91丨国产丨白浆秘 喷水,国产熟妇毛多 A片欧美蜜臀,北京熟妇搡BBBB搡BBBB,国产精品人人做人人爽人人添

  您的位置: 【卓安特保-您身邊的護衛(wèi)專家】山東卓安安防工程有限公司,電話13361029977 >> 安防資訊 >> 卓安安防 >> JAVA編程
 閱讀文章

形參和實參的區(qū)別

  文章作者:網(wǎng)絡(luò)來源:網(wǎng)絡(luò)轉(zhuǎn)摘瀏覽次數(shù):6796字體:字體顏色
 閱讀權(quán)限:游客身份花費會員幣:0添加時間:2020/4/7 23:15:58提交會員:李漠

如果把函數(shù)比喻成一臺機器,那么參數(shù)就是原材料,返回值就是最終產(chǎn)品;從一定程度上講,函數(shù)的作用就是根據(jù)不同的參數(shù)產(chǎn)生不同的返回值。

這一節(jié)我們先來講解C語言函數(shù)的參數(shù)。
C語言函數(shù)的參數(shù)會出現(xiàn)在兩個地方,分別是函數(shù)定義處和函數(shù)調(diào)用處,這兩個地方的參數(shù)是有區(qū)別的。

形參(形式參數(shù))

在函數(shù)定義中出現(xiàn)的參數(shù)可以看做是一個占位符,它沒有數(shù)據(jù),只能等到函數(shù)被調(diào)用時接收傳遞進來的數(shù)據(jù),所以稱為形式參數(shù),簡稱形參。

實參(實際參數(shù))

函數(shù)被調(diào)用時給出的參數(shù)包含了實實在在的數(shù)據(jù),會被函數(shù)內(nèi)部的代碼使用,所以稱為實際參數(shù),簡稱實參。

形參和實參的功能是傳遞數(shù)據(jù),發(fā)生函數(shù)調(diào)用時,實參的值會傳遞給形參。

形參和實參的區(qū)別和聯(lián)系

1) 形參變量只有在函數(shù)被調(diào)用時才會分配內(nèi)存,調(diào)用結(jié)束后,立刻釋放內(nèi)存,所以形參變量只有在函數(shù)內(nèi)部有效,不能在函數(shù)外部使用。

2) 實參可以是常量、變量、表達式、函數(shù)等,無論實參是何種類型的數(shù)據(jù),在進行函數(shù)調(diào)用時,它們都必須有確定的值,以便把這些值傳送給形參,所以應(yīng)該提前用賦值、輸入等辦法使實參獲得確定值。

3) 實參和形參在數(shù)量上、類型上、順序上必須嚴(yán)格一致,否則會發(fā)生“類型不匹配”的錯誤。當(dāng)然,如果能夠進行自動類型轉(zhuǎn)換,或者進行了強制類型轉(zhuǎn)換,那么實參類型也可以不同于形參類型。

4) 函數(shù)調(diào)用中發(fā)生的數(shù)據(jù)傳遞是單向的,只能把實參的值傳遞給形參,而不能把形參的值反向地傳遞給實參;換句話說,一旦完成數(shù)據(jù)的傳遞,實參和形參就再也沒有瓜葛了,所以,在函數(shù)調(diào)用過程中,形參的值發(fā)生改變并不會影響實參。

請看下面的例子:

#include <stdio.h>

 
  1. //計算從m加到n的值
  2. int sum(int m, int n) {
  3.     int i;
  4.     for (i = m+1; i <= n; ++i) {
  5.         m += i;
  6.     }
  7.     return m;
  8. }
  9. int main() {
  10.     int a, b, total;
  11.     printf("Input two numbers: ");
  12.     scanf("%d %d", &a, &b);
  13.     total = sum(a, b);
  14.     printf("a=%d, b=%d\n", a, b);
  15.     printf("total=%d\n", total);
  16.     return 0;
  17. }

運行結(jié)果:
Input two numbers: 1 100↙
a=1, b=100
total=5050

在這段代碼中,函數(shù)定義處的 m、n 是形參,函數(shù)調(diào)用處的 a、b 是實參。通過 scanf() 可以讀取用戶輸入的數(shù)據(jù),并賦值給 a、b,在調(diào)用 sum() 函數(shù)時,這份數(shù)據(jù)會傳遞給形參 m、n。

從運行情況看,輸入 a 值為 1,即實參 a 的值為 1,把這個值傳遞給函數(shù) sum() 后,形參 m 的初始值也為 1,在函數(shù)執(zhí)行過程中,形參 m 的值變?yōu)?5050。函數(shù)運行結(jié)束后,輸出實參 a 的值仍為 1,可見實參的值不會隨形參的變化而變化。

以上調(diào)用 sum() 時是將變量作為函數(shù)實參,除此以外,你也可以將常量、表達式、函數(shù)返回值作為實參,如下所示:

 
  1. total = sum(10, 98);  //將常量作為實參
  2. total = sum(a+10, b-3);  //將表達式作為實參
  3. total = sum( pow(2,2), abs(-100) );  //將函數(shù)返回值作為實參

5) 形參和實參雖然可以同名,但它們之間是相互獨立的,互不影響,因為實參在函數(shù)外部有效,而形參在函數(shù)內(nèi)部有效。

更改上面的代碼,讓實參和形參同名:

 
  1. #include <stdio.h> 
  2. //計算從m加到n的值
  3. int sum(int m, int n) {
  4. int i;
  5. for (i = m + 1; i <= n; ++i) {
  6. m += i;
  7. }
  8. return m;
  9. }
  10.  
  11. int main() {
  12. int m, n, total;
  13. printf("Input two numbers: ");
  14. scanf("%d %d", &m, &n);
  15. total = sum(m, n);
  16. printf("m=%d, n=%d\n", m, n);
  17. printf("total=%d\n", total);
  18.  
  19. return 0;
  20. }

結(jié)果:
Input two numbers: 1 100
m=1, n=100
total=5050


調(diào)用 sum() 函數(shù)后,函數(shù)內(nèi)部的形參 m 的值已經(jīng)發(fā)生了變化,而函數(shù)外部的實參 m 的值依然保持不變,可見它們是相互獨立的兩個變量,除了傳遞參數(shù)的一瞬間,其它時候是沒有瓜葛的。
·上篇文章:JAVA繼承的概念
·下篇文章:JAVA關(guān)鍵字
復(fù)制 】 【 打印
 相關(guān)文章
沒有相關(guān)文章
特別聲明:本站除部分特別聲明禁止轉(zhuǎn)載的專稿外的其他文章可以自由轉(zhuǎn)載,但請務(wù)必注明出處和原始作者。文章版權(quán)歸文章原始作者所有。對于被本站轉(zhuǎn)載文章的個人和網(wǎng)站,我們表示深深的謝意。如果本站轉(zhuǎn)載的文章有版權(quán)問題請聯(lián)系我們,我們盡快予以更正,謝謝。
關(guān)于我們 | 業(yè)務(wù)范圍 | 免責(zé)聲明 | 聯(lián)系我們 | 友情連接
版權(quán)所有 Copyright © 2007 【卓安特保-您身邊的護衛(wèi)專家】山東卓安安防工程有限公司,電話13361029977 All Rights Reserved.
魯ICP備11024361號-5    頁面執(zhí)行時間:31.25MS
欧性猛交XXXX乱大交 | 91精品国产aⅴ一区二区 | 国产精品久久一区二区无卡 | 六十路近親相姦孫中出J | 91精品福利观看 | 成人av免费在线观看 | 真人一级一级97毛片 | japanese久久| 91精品国产综合久久久不卡98口 | 毛片毛片毛片毛片 | 中文字幕在线观看一区 | 91探花国产综合在线精品 | 无码秘 蜜桃一区二区 | 亚洲AV无码乱码在线观看,爱妻艺 | 91精品国产aⅴ一区二区 | 欧美精品 A片在线观看报备 | 肉乳无码A片av | 无码人妻精品一区二区蜜桃苍井空 | 精品人伦一区二区三区蜜桃电影 | 羞羞视频在线免费看 | 人妻体内射精一区二区 | 午夜成人精品AAAAA片 | 欧美一区二区三色欲区AA大片 | 亚洲国产成人无码AⅤ片在线观看 | 未满十八十八免费无码网站 | 亚洲情色欧美激情 | 翘臀美女后进动态图 | 无码人妻A片一区二区青苹果 | 国产精品久久久久久久久久红综合 | 久久精品国产亚洲AV麻豆仙踪林 | 亚洲无码少妇av | 四川少bbb搡bbb爽爽爽 | 国产成人无码精免费视频 | 成人网站免费观看www | 欧美精品成人免费一区二区 | 国产精品18禁久久久久久久久 | 欧美成人性生交大片免费看 | 国产特级一级毛片 | 国产成人1区2区3区4区最新免费 | 免费无码人妻a8198v网站 | 国产精品三级在线 |