亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 編程 > C++ > 正文

詳解C++編程中用數(shù)組名作函數(shù)參數(shù)的方法

2020-05-23 14:14:48
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這篇文章主要介紹了詳解C++編程中用數(shù)組名作函數(shù)參數(shù)的方法,是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

C++數(shù)組的概念

概括地說(shuō):數(shù)組是有序數(shù)據(jù)的集合。要尋找一個(gè)數(shù)組中的某一個(gè)元素必須給出兩個(gè)要素,即數(shù)組名和下標(biāo)。數(shù)組名和下標(biāo)惟一地標(biāo)識(shí)一個(gè)數(shù)組中的一個(gè)元素。

數(shù)組是有類型屬性的。同一數(shù)組中的每一個(gè)元素都必須屬于同一數(shù)據(jù)類型。一個(gè)數(shù)組在內(nèi)存中占一片連續(xù)的存儲(chǔ)單元。如果有一個(gè)整型數(shù)組a,假設(shè)數(shù)組的起始地址為2000,則該數(shù)組在內(nèi)存中的存儲(chǔ)情況如圖所示。

詳解C++編程中用數(shù)組名作函數(shù)參數(shù)的方法

引入數(shù)組就不需要在程序中定義大量的變量,大大減少程序中變量的數(shù)量,使程序精煉,而且數(shù)組含義清楚,使用方便,明確地反映了數(shù)據(jù)間的聯(lián)系。許多好的算法都與數(shù)組有關(guān)。熟練地利用數(shù)組,可以大大地提高編程和解題的效率,加強(qiáng)了程序的可讀性。

C++用方括號(hào)來(lái)表示下標(biāo),如用s[1],s[2],s[3] 分別代表s1,s2,s3。

C++用數(shù)組名作函數(shù)參數(shù)

常量和變量可以用作函數(shù)實(shí)參,同樣數(shù)組元素也可以作函數(shù)實(shí)參,其用法與變量相同。數(shù)組名也可以作實(shí)參和形參,傳遞的是數(shù)組的起始地址。

用數(shù)組元素作函數(shù)實(shí)參

由于實(shí)參可以是表達(dá)式,而數(shù)組元素可以是表達(dá)式的組成部分,因此數(shù)組元素當(dāng)然可以作為函數(shù)的實(shí)參,與用變量作實(shí)參一樣,將數(shù)組元素的值傳送給形參變量。

【例】用函數(shù)處理。

今設(shè)一函數(shù)max_value,用來(lái)進(jìn)行比較并返回結(jié)果。可編寫(xiě)程序如下:

 

 
  1. #include <iostream> 
  2. using namespace std; 
  3. int main( ) 
  4. int max_value(int x,int max); //函數(shù)聲明 
  5. int i,j,row=0,colum=0,max 
  6. int a[3][4]={{5,12,23,56},{19,28,37,46},{-12,-34,6,8}}; //數(shù)組初始化 
  7. max=a[0][0]; 
  8. for (i=0;i<=2;i++) 
  9. for (j=0;j<=3;j++) 
  10. max=max_value(a[i][j],max); //調(diào)用max_value函數(shù) 
  11. if(max==a[i][j])//如果函數(shù)返回的是a[i][j]的值 
  12. row=i; //記下該元素行號(hào)i 
  13. colum=j; //記下該元素列號(hào)j 
  14. cout<<"max="<<max<<",row="<<row<<",colum="<<colum<<endl; 
  15. int max_value(int x,int max)//定義max_value函數(shù) 
  16. if(x>max) return x;//如果x>max,函數(shù)返回值為x 
  17. else return max;//如果x≤max,函數(shù)返回值為max 

用數(shù)組名作函數(shù)參數(shù)

可以用數(shù)組名作函數(shù)參數(shù),此時(shí)實(shí)參與形參都用數(shù)組名(也可以用指針變量,見(jiàn)第6章)。

【例】用選擇法對(duì)數(shù)組中10個(gè)整數(shù)按由小到大排序。

所謂選擇法就是先將10個(gè)數(shù)中最小的數(shù)與a[0]對(duì)換,再將a[1]到a[9]中最小的數(shù)與a[1]對(duì)換……每比較一輪,找出一個(gè)未經(jīng)排序的數(shù)中最小的一個(gè)。共比較9輪。根據(jù)此思路編寫(xiě)程序如下:

 

 
  1. #include <iostream> 
  2. using namespace std; 
  3. int main( ) 
  4. void select_sort(int array[],int n); //函數(shù)聲明 
  5. int a[10],i; 
  6. cout<<"enter the originl array:"<<endl; 
  7. for(i=0;i<10;i++) //輸入10個(gè)數(shù) 
  8. cin>>a[i]; 
  9. cout<<endl; 
  10. select_sort(a,10);//函數(shù)調(diào)用,數(shù)組名作實(shí)參 
  11. cout<<"the sorted array:"<<endl; 
  12. for(i=0;i<10;i++) //輸出10個(gè)已排好序的數(shù) 
  13. cout<<a[i]<<" "
  14. cout<<endl; 
  15. return 0; 
  16. void select_sort(int array[],int n) //形參array是數(shù)組名 
  17. int i,j,k,t; 
  18. for(i=0;i<n-1;i++) 
  19. k=i; 
  20. for(j=i+1;j<n;j++) 
  21. if(array[j]<array[k]) k=j; 
  22. t=array[k];array[k]=array[i];array[i]=t; 

運(yùn)行情況如下:

 

 
  1. enter the originl array: 
  2. 6 9 -2 56 87 11 -54 3 0 77↙ //輸入10個(gè)數(shù) 
  3. the sorted array: 
  4. -54 -2 0 3 6 9 11 56 77 87 

關(guān)于用數(shù)組名作函數(shù)參數(shù)有兩點(diǎn)要說(shuō)明:

1) 如果函數(shù)實(shí)參是數(shù)組名,形參也應(yīng)為數(shù)組名(或指針變量),形參不能聲明為普通變量(如int array;)。實(shí)參數(shù)組與形參數(shù)組類型應(yīng)一致(現(xiàn)都為int型),如不一致,結(jié)果將出錯(cuò)。

2) 需要特別說(shuō)明的是: 數(shù)組名代表數(shù)組首元素的地址,并不代表數(shù)組中的全部元素。因此用數(shù)組名作函數(shù)實(shí)參時(shí),不是把實(shí)參數(shù)組的值傳遞給形參,而只是將實(shí)參數(shù)組首元素的地址傳遞給形參。

形參可以是數(shù)組名,也可以是指針變量,它們用來(lái)接收實(shí)參傳來(lái)的地址。如果形參是數(shù)組名,它代表的是形參數(shù)組首元素的地址。在調(diào)用函數(shù)時(shí),將實(shí)參數(shù)組首元素的地址傳遞給形參數(shù)組名。這樣,實(shí)參數(shù)組和形參數(shù)組就共占同一段內(nèi)存單元。見(jiàn)圖。

詳解C++編程中用數(shù)組名作函數(shù)參數(shù)的方法

在用變量作函數(shù)參數(shù)時(shí),只能將實(shí)參變量的值傳給形參變量,在調(diào)用函數(shù)過(guò)程中如果改變了形參的值,對(duì)實(shí)參沒(méi)有影響,即實(shí)參的值不因形參的值改變而改變。而用數(shù)組名作函數(shù)實(shí)參時(shí),改變形參數(shù)組元素的值將同時(shí)改變實(shí)參數(shù)組元素的值。在程序設(shè)計(jì)中往往有意識(shí)地利用這一特點(diǎn)改變實(shí)參數(shù)組元素的值。

實(shí)際上,聲明形參數(shù)組并不意味著真正建立一個(gè)包含若干元素的數(shù)組,在調(diào)用函數(shù)時(shí)也不對(duì)它分配存儲(chǔ)單元,只是用array[]這樣的形式表示array是一維數(shù)組名,以接收實(shí)參傳來(lái)的地址。因此array[]中方括號(hào)內(nèi)的數(shù)值并無(wú)實(shí)際作用,編譯系統(tǒng)對(duì)一維數(shù)組方括號(hào)內(nèi)的內(nèi)容不予處理。形參一維數(shù)組的聲明中可以寫(xiě)元素個(gè)數(shù),也可以不寫(xiě)。

函數(shù)首部的下面幾種寫(xiě)法都合法,作用相同:

 

 
  1. void select_sort(int array[10],int n) //指定元素個(gè)數(shù)與實(shí)參數(shù)組相同 
  2. void select_sort(int array[],int n) //不指定元素個(gè)數(shù) 
  3. void select_sort(int array[5],int n) //指定元素個(gè)數(shù)與實(shí)參數(shù)組不同 

C++實(shí)際上只把形參數(shù)組名作為一個(gè)指針變量來(lái)處理,用來(lái)接收從實(shí)參傳過(guò)來(lái)的地址。前面提到的一些現(xiàn)象都是由此而產(chǎn)生的。

用多維數(shù)組名作函數(shù)參數(shù)

如果用二維數(shù)組名作為實(shí)參和形參,在對(duì)形參數(shù)組聲明時(shí),必須指定第二維(即列)的大小,且應(yīng)與實(shí)參的第二維的大小相同。第一維的大小可以指定,也可以不指定。如:

 

 
  1. int array[3][10]; //形參數(shù)組的兩個(gè)維都指定 

 

 
  1. int array[][10]; //第一維大小省略 

二者都合法而且等價(jià)。但是不能把第二維的大小省略。下面的形參數(shù)組寫(xiě)法不合法:

 

 
  1. int array[][]; //不能確定數(shù)組的每一行有多少列元素 
  2. int array[3][]; //不指定列數(shù)就無(wú)法確定數(shù)組的結(jié)構(gòu) 

在第二維大小相同的前提下,形參數(shù)組的第一維可以與實(shí)參數(shù)組不同。例如,實(shí)參數(shù)組定義為:

int score[5][10];

而形參數(shù)組可以聲明為:

 

 
  1. int array[3][10]; //列數(shù)與實(shí)參數(shù)組相同,行數(shù)不同 
  2. int array[8][10]; 

這時(shí)形參二維數(shù)組與實(shí)參二維數(shù)組都是由相同類型和大小的一維數(shù)組組成的,實(shí)參數(shù)組名score代表其首元素(即第一行)的起始地址,系統(tǒng)不檢查第一維的大小。

如果是三維或更多維的數(shù)組,處理方法是類似的。

【例】有一個(gè)3×4的矩陣,求矩陣中所有元素中的最大值。要求用函數(shù)處理。

解此題的程序如下:

 

 
  1. #include <iostream> 
  2. using namespace std; 
  3. int main( ) 
  4. int max_value(int array[][4]); 
  5. int a[3][4]={{11,32,45,67},{22,44,66,88},{15,72,43,37}}; 
  6. cout<<"max value is "<<max_value(a)<<endl; 
  7. return 0; 
  8. int max_value(int array[][4]) 
  9. int i,j,max; 
  10. max=array[0][0]; 
  11. for( i=0;i<3;i++) 
  12. for(j=0;j<4;j++) 
  13. if(array[i][j]>max) max=array[i][j]; 
  14. return max; 

運(yùn)行結(jié)果如下:

 

 
  1. max value is 88 

讀者可以將max_value函數(shù)的首部改為以下幾種情況,觀察編譯情況:

 

 
  1. int max_value(int array[][]) 
  2. int max_value(int array[3][]) 
  3. int max_value(int array[3][4]) 
  4. int max_value(int array[10][10]) 
  5. int max_value(int array[12]) 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
天天插天天射| 亚洲AV无码国产精品午夜字幕| 欧美高跟鞋交xxxxhd| 久久久久久无码精品大片| 亚洲激情图片小说视频| 亚洲视频每日更新| 在线中文字幕-区二区三区四区| 亚洲色图都市小说| 国产亚洲字幕| 成人免费视频网站在线看| 天天碰免费视频| 亚洲爱爱视频| 91久久久久久久久久久久久久| 亚洲警察之高压线| 亚洲图色中文字幕| 国产成人精品a视频一区www| 性欧美性free| 久久成人免费电影| 一区二区中文字| 国产精品旅馆在线| 91精品久久久久久久久久久久久| 91人妻一区二区| 色综合www| 欧美性猛交ⅹxxx乱大交免费| 韩国成人福利片在线播放| 2021av在线| 动漫一区二区在线| xfplay每日更新av资源在线| 第四色中文综合网| 成人看片毛片免费播放器| 亚洲一区二区三区四区电影| 日韩亚洲不卡在线| 一卡二卡三卡视频| 北岛玲heyzo一区二区| 不卡一区二区三区四区| 欧美亚洲精品天堂| 开心九九激情九九欧美日韩精美视频电影| 亚洲老女人视频免费| 白白色免费视频| 欧美区一区二区三区| 国产乱视频在线观看| 精品99一区二区| 亚洲国产中文字幕在线视频综合| 51ⅴ精品国产91久久久久久| 精人妻无码一区二区三区| 国产亚洲va综合人人澡精品| 精品99视频| 日本一区二区三区在线视频| 中文字字幕在线中文乱码电影| 无码人妻丰满熟妇区五十路百度| 在线观看xxxxvideo| 我想看黄色大片| 精品人妻无码一区二区三区| 亚洲国产婷婷香蕉久久久久久| 99久久久国产精品免费调教网站| 免费看美女视频在线网站| 77777少妇光屁股久久一区| 欧美性受xxxx狂喷水| 最新国产精品精品视频| 国产精品美女久久久久久| 亚洲成**性毛茸茸| 色婷婷综合久久久久久| 蜜臀91精品国产高清在线观看| 国产色无码精品视频国产| 久久全球大尺度高清视频| 日本黄色片视频| 粉嫩高潮美女一区二区三区| 黄色小视频免费| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美激情videos| 国产成人日日夜夜| av在线无限看| 91情侣偷在线精品国产| 国产a一区二区| 中文字幕高清在线观看| 人妻久久久一区二区三区| 午夜精品视频一区二区三区在线看| 精品无码一区二区三区爱欲| 91中文在线| 亚洲一区二区自拍偷拍| 麻豆91在线| jizz性欧美10| 国产91精品入口17c| 国产成人黄色网址| 国产老肥熟xxxx在线观看| 午夜日韩影院| 亚洲精品综合久久| jlzzjlzzjlzz亚洲人| 欧美激情一区在线观看| 在线视频亚洲| 国产亚洲无码精品| 九九热只有这里有精品| 在线www天堂网在线| 成色在线视频| 亚洲永久精品在线观看| 国产欧美一区二区三区在线看蜜臂| 国产美女久久久| 久久久久久免费毛片精品| 成人区精品一区二区婷婷| 欧美成人app| 在线观看国产一区| 国产精品视频26uuu| 超碰国产精品久久国产精品99| av资源网在线观看| 亚洲一区 视频| 制服.丝袜.亚洲.中文.综合| 久久无码精品丰满人妻| 久久精品国产久精国产| 91麻豆精品久久久久蜜臀| 色是在线视频| 久久99久国产精品黄毛片色诱| 亚洲男女毛片无遮挡| 这里只有精品免费视频| 在线看黄网站| 日本一二三区在线观看| 日本免费在线精品| ...av二区三区久久精品| 国产精品少妇在线视频| 久久综合色之久久综合| 日韩黄色动漫| 麻豆精品不卡国产免费看| 亚洲精品成人少妇| 久久国产精品视频| 黄色电影免费在线看| 老司机aⅴ毛片免费观看| 欧美aaa大片视频一二区| 不卡电影免费在线播放一区| www.日韩欧美| 亚洲性视频网站| 69精品国产久热在线观看| 欧美激情在线免费| 成人污网站在线观看| 中文字幕免费在线视频| 国产精品久久久久久久免费观看| 精品黑人一区二区三区久久| 免费人成黄页网站在线一区二区| 岛国av在线播放| wwww在线观看免费视频| 欧美二区在线观看| 欧美老熟妇乱大交xxxxx| 亚洲精品少妇一区二区| 国内久久精品| 午夜精品久久久久久久99热| 国产高清免费在线观看| 成人精品小视频| 色欲一区二区三区精品a片| 日韩高清不卡av| 91麻豆精品国产无毒不卡在线观看| 黄色网址中文字幕| 精品久久成人| 欧美日韩国产大片| 四虎影视精品永久在线观看| 另类专区欧美蜜桃臀第一页| 欧美国产欧美亚洲国产日韩mv天天看完整| 精品一区二区三区五区六区七区| 久久久高清一区二区三区| 一区二区中文字幕在线| 最近2019年中文视频免费在线观看| 日本一区二区不卡高清更新| 欧美日韩国产精品| 日本边添边摸边做边爱的第三级| 国产精品久久久久久久午夜| 人妻一区二区三区四区| 中文字幕免费播放| 麻豆av免费看| 久久久久北条麻妃免费看| 色综合天天狠天天透天天伊人| 亚洲熟女乱综合一区二区三区| 天干天干啦夜天天天视频| 国产美女被遭强高潮免费网站| 日韩高清一二三区| 久久影视中文字幕| 欧美国产精品一二三| 亚洲av无码一区二区三区人| 色悠悠久久综合网| 亚洲欧美国产va在线影院| 我不卡一区二区| 精品视频在线观看日韩| 久久黄色小视频| 少妇高潮一区二区三区99| 亚洲国产精品成人综合色在线婷婷| 91在线视频观看免费| 欧美一区二区视频在线| 日韩av无码一区二区三区不卡| 春暖花开亚洲| 日韩a级片在线观看| 人妻一区二区三区| 国产精彩视频在线观看| 国产视频一二区| 一本久久精品| 在线视频你懂得一区| 色综合色综合色综合| 国产欧美日韩精品专区| 日本女优爱爱视频| 老牛影视av一区二区在线观看| 日韩av播放器| 日韩在线 中文字幕| 97国产真实伦对白精彩视频8| ed2k情侣啪啪91av| 国产精品久久久国产盗摄| 另类av一区二区| 欧美fxxxxxx另类| 国产日韩欧美亚洲| 国产娇喘精品一区二区三区图片| f2c人成在线观看免费视频| 日本在线电影一区二区三区| 肉大捧一出免费观看网站在线播放| 风间由美性色一区二区三区| 国产又粗又猛又爽又黄视频| 免费大片在线观看| 色婷婷av一区二区三区之e本道| 久久久久久久综合| 国产精品678| 麻豆蜜桃91| 日韩三级电影网址| 欧美国产日产图区| 欧美人成在线| r级无码视频在线观看| 亚洲欧美丝袜中文综合| 成人a区在线观看| 日韩av综合在线观看| 自拍亚洲一区欧美另类| 黄页在线观看免费| av国产在线观看| 7878视频在线观看| 18aaaa精品欧美大片h| 一个人看的www久久| 午夜精品久久久久久久四虎美女版| 日本在线观看不卡视频| 欧美精品videosbestsex另类| 91精品国产综合久久久蜜臀粉嫩| fc2人成共享视频在线观看| 中文字幕第24页| 一区二区三区不卡在线视频| 日本中文字幕免费观看| 久久综合色综合| 中文字幕人妻熟女在线| 一区二区三区国| 国产精品99爱免费视频| 日日摸日日搞日日| 久久久久女教师免费一区| 欧美激情一区不卡| 亚洲图区综合网| 国产sm精品调教视频网站| 欧美aaa视频| 国产大学生校花援交在线播放| 无人日本免费视频| 色呦呦视频在线| 欧美最猛性xxxx免费| 日韩精品免费观看视频| 亚洲精品国产精品乱码在线观看| 欧美精品三级日韩久久| 国产一区免费在线观看| 成人欧美一区二区三区视频网页| 国产精品815.cc红桃| 欧美,日韩,国产在线| 免费一级片在线观看| 久久久久美女| 91色在线观看| 丰满少妇一区二区| 久久久久久久久综合影视网| 国产精品夜间视频香蕉| 999www人成免费视频| 日韩一区二区三区xxxx| 午夜精品久久久久久久久久久久久| 成人在线免费观看网址| 狠狠操狠狠色| 久久91精品视频| 国产精品自拍小视频| 欧美俄罗斯乱妇| 国精产品999国精产品官网| 人妻少妇精品无码专区二区| 亚洲欧洲闷骚av少妇影院| 毛片毛片毛片毛片毛| 人妻少妇精品无码专区二区| 欧美性受ⅹ╳╳╳黑人a性爽| 91中文字精品一区二区| av第一福利大全导航| 中文字幕成人一区| 日韩av影院在线观看| 97最新国自产拍视频在线完整在线看| 亚洲黄在线观看| 国产精品一区二区三区av| 亚洲色图av在线| 伊人久久影院| 熟妇人妻一区二区三区四区| 久久久99精品视频| 亚洲 欧美 日韩 国产综合 在线| 国产乱淫av片免费| 91美女片黄在线观看91美女| 国产日韩亚洲欧美精品| 一区二区三区国产福利| 亚洲国产99| 亚洲成人生活片| 特黄aaaaaaaaa毛片免费视频| а中文在线天堂| 日韩毛片久久久| 在线观看欧美视频| 亚洲国产精品精华液2区45| 欧美亚洲一区二区三区四区| 999国产在线视频| 欧美韩国亚洲| 最新日本视频| 中文字幕欧美日韩在线| 国产精品自拍视频在线| 欧美美女黄色网| 午夜欧美大片免费观看| 在线播放91| 欧美人与禽性xxxxx杂性| 日韩电影大全在线观看| 久久激情视频免费观看| 国产秀色在线www免费观看| 成人18免费入口| 91小视频在线免费看| 国产三级国产精品国产国在线观看| 国产精品狼人色视频一区| 国产91精品免费| 国产精品伊人久久| 羞羞在线观看视频| 都市激情亚洲| 亚洲欧美日韩在线不卡| 黄页网站免费在线观看| 黄色成年人视频在线观看| 欧美成人午夜做爰视频在线观看| 久久99久久久精品欧美| 欧美人妖在线| 久久久久国产美女免费网站| 精品96久久久久久中文字幕无|