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

首頁 > 編程 > C++ > 正文

C++函數的數組參數—向函數傳遞數組

2020-05-23 14:27:28
字體:
來源:轉載
供稿:網友
數組的存儲空間很大,如果能夠把它作為參數傳遞給函數,那么就能發揮很大的作用了。比如本來一個選出最大數的max函數只能在兩個數或三個數里面選出一個最大的數字,如果我們把數組傳遞過去,它就能夠在一堆數字中選出最大的數了,這大大提高了程序的效率。當函數中的某個參數是數組時,在參數名后加上一對中括號,比如int a[],表示參數a是一個數組。下面我們就來看這樣一個在一堆正數里面找一個最大數的程序:(程序7.3.1)
#include "iostream.h"
int max(int a[],int size);//size是數組的大小
int main()
{
   int number[]={2,45,12,6,23,98,13,3};
   cout <<max(number,sizeof(number)/sizeof(int)) <<endl;
   return 0;
}
int max(int a[],int size)
{
   int max=0;
   for (int i=0;i<size;i++)
   {
      if (a[i]>max)
      max=a[i];
   }
   return max;
}
運行結果:
98

我們發現,在函數里使用數組也是比較方便的。但大家有沒有考慮過一個問題,我們為什么不在函數里面用sizeof算出數組的大小,而非要在函數外面算好了,再作為參數傳遞給函數呢?在這里,我們就有必要講一下數組作為參數傳遞給函數的原理了。

我們以前說過,參數的傳遞是將實參的值賦給形參。然而對于數組來說卻是一個例外,因為數組的數據太多了,將其一一賦值既麻煩又浪費空間,所以數組作為參數傳遞給函數的只是數組首元素的地址,函數在需要用到后面元素時再按照這個地址和數組下標去查找。也就是說后面的元素根本沒到函數里來,所以在函數里求不出數組的大小也就不足為奇了。

所以,當一個函數的參數是一個數組時,我們必須注意要想辦法讓這個函數知道數組的大小。

不過,既然數組傳遞給函數的是數組首元素在內存中地址,而數據又都是存在內存里的,那么在函數中對數組參數的修改會不會影響到實參本身的值呢?讓我們來看一段程序,驗證一下我們的想法:(程序7.3.2)
#include "iostream.h"
#include "iomanip.h"
void sort(int a[],int size);//將數組中的元素從大到小排列
int main()
{
   int num[]={2,3,8,6,4,1,7,9};
   const int size=sizeof(num)/sizeof(int);
   sort(num,size);
   cout <<"排列后的數組元素" <<endl;
   for (int i=0;i<size;i++)//輸出排列好以后的數組元素
   {
      cout <<setw(2) <<num[i];
   }
   cout <<endl;
   return 0;
}
void sort(int a[],int size)
{
   cout <<"原來的數組元素" <<endl;
   for (int i=0;i<size;i++)//輸出原來的數組元素
   {
      cout <<setw(2) <<a[i];
   }
   cout <<endl;
   for (int j=0;j<size;j++)
   {
      int min=a[j],mink=j;//先假設未排序的首元素是最小的數
      for (int k=j;k<size;k++)//找到尚未排序的元素中最小的數
      {
C++函數的數組參數—向函數傳遞數組         if (a[k]<min)
         {
            min=a[k];
            mink=k;
         }
      }
      int temp=a[j];//交換兩個元素
      a[j]=a[mink];
      a[mink]=temp;
   }
}

運行結果:
原來的數組元素
2 3 8 6 4 1 7 9
排列后的數組元素
1 2 3 4 6 7 8 9

算法時間:排序(Sort)
排序是經常要使用到的一項功能。排序的算法也有多種。程序7.3.2所使用的排序方法稱為直接選擇排序,即在未排序的元素中選擇出最小的一個,與未排序的首元素交換,直到所有的元素都已經排序。(如右上表所示)以后大家還會在數據結構課程中學習到一些更高效的排序算法,如快速排序法,插入排序法等等。

我們交換了sort函數中參數數組a的順序,卻發現回到主函數以后,num數組的元素次序也發生了變化。正是因為我們在函數中將內存中的數據作了操作,所以影響到了實參。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品第一国产综合精品| 538国产精品一区二区在线| 国产91热爆ts人妖在线| 永久免费毛片在线播放不卡| 91成人在线播放| 色妞色视频一区二区三区四区| 亚洲欧美在线播放| 久久久久久久久久久人体| 国产日产欧美a一级在线| 欧美日韩美女视频| 国产精品久久久久久一区二区| 亚洲国产女人aaa毛片在线| 国产精品久久久久久久久久尿| 欧美在线视频播放| 91亚洲精品在线观看| 亚洲国内高清视频| 国产精品欧美一区二区三区奶水| 国产精品欧美风情| 一本色道久久88综合日韩精品| 日本午夜精品理论片a级appf发布| 青青久久av北条麻妃海外网| 国产91在线视频| 91在线看www| 亚洲精品网址在线观看| 亚洲男人的天堂在线播放| 欧美激情区在线播放| 米奇精品一区二区三区在线观看| 宅男66日本亚洲欧美视频| 日韩国产精品一区| 国产精品美女午夜av| 日本久久91av| 国产成人欧美在线观看| 日韩有码片在线观看| 亚洲美女又黄又爽在线观看| 亚洲美女动态图120秒| 国产精品久久国产精品99gif| 国产精品亚洲一区二区三区| 国产精品一区二区三区毛片淫片| 亚洲va欧美va在线观看| 国产精品视频内| 欧洲成人午夜免费大片| 亚洲专区中文字幕| 992tv在线成人免费观看| 欧美成aaa人片免费看| 欧美电影院免费观看| 色噜噜亚洲精品中文字幕| 日韩欧美在线第一页| 亚洲电影免费观看高清完整版在线观看| 欧美有码在线视频| 欧美日韩中文字幕在线| 欧美丝袜美女中出在线| 亚洲精品福利资源站| 亚洲一区二区免费| 亚洲精品国产综合区久久久久久久| 91视频国产精品| 日韩中文字幕精品| 国产精品久久久久9999| 成人美女免费网站视频| 久久免费成人精品视频| 久久久视频免费观看| 一区二区三区国产在线观看| 亚洲国产高清高潮精品美女| 亚洲视频专区在线| 亚洲精品国产精品乱码不99按摩| 国产午夜精品一区二区三区| 国产精品一区久久| 国产成人精品综合久久久| 91精品国产自产在线观看永久| 国产一区二区三区精品久久久| 91精品国产网站| 久久国产色av| 国产丝袜一区二区三区| 国产精品91久久| 欧美一区二区色| 亚洲欧美成人一区二区在线电影| 色综合色综合网色综合| 国产在线一区二区三区| 亚洲香蕉av在线一区二区三区| 午夜精品久久久久久99热| 久久精品精品电影网| 搡老女人一区二区三区视频tv| 国产精品99一区| 在线观看国产欧美| 亚洲成av人影院在线观看| 久久久之久亚州精品露出| 成人黄色在线观看| 欧美精品一区二区免费| 亚洲男人第一网站| 久久久久久久久久久国产| 成人久久久久久久| 国产精品美女主播在线观看纯欲| 精品久久久久久久久久久| 国产欧美最新羞羞视频在线观看| 久久免费成人精品视频| 久久久久久久久久久国产| 一本大道久久加勒比香蕉| 国产一区二区丝袜高跟鞋图片| 欧美日韩久久久久| 中文字幕亚洲天堂| 大胆人体色综合| 欧美剧在线观看| 日韩av黄色在线观看| 欧美成人午夜免费视在线看片| 热久久这里只有| 亚洲日本成人女熟在线观看| 亚洲综合国产精品| 欧美日韩另类视频| www.欧美精品一二三区| 亚洲一区中文字幕| 国产亚洲精品美女久久久| 国产欧美日韩最新| 国产日产久久高清欧美一区| 精品国产一区二区三区在线观看| 国产精选久久久久久| 色与欲影视天天看综合网| 欧美亚洲国产另类| 国产成人精品日本亚洲专区61| 国产精品青草久久久久福利99| 亚洲一区中文字幕在线观看| 91理论片午午论夜理片久久| 91精品久久久久久久久中文字幕| 国产一区二区三区视频| 国产午夜一区二区| 久久久久日韩精品久久久男男| 成人免费福利在线| 亚洲天堂色网站| 成人精品视频久久久久| 日韩免费观看视频| 伊人成人开心激情综合网| 色偷偷9999www| 色哟哟网站入口亚洲精品| 欧美性做爰毛片| 欧美成在线观看| 亚洲国产一区二区三区四区| 国产精品久久久久久久久| 一夜七次郎国产精品亚洲| 欧美性猛交xxxx乱大交| 亚洲跨种族黑人xxx| 成人字幕网zmw| 亚洲xxxxx性| 亚洲人成在线免费观看| 日韩av在线一区| 欧美激情久久久| 日韩精品有码在线观看| 国产精品免费一区二区三区都可以| 欧美激情亚洲激情| 日韩在线播放一区| 精品成人国产在线观看男人呻吟| 欧美精品少妇videofree| 色偷偷偷综合中文字幕;dd| 欧美午夜激情视频| 国产97色在线| 亚洲精品久久久久久久久久久| 久久久久久久久爱| 成人免费高清完整版在线观看| 日本高清久久天堂| 亚洲精品中文字| 日韩在线观看精品| 欧美在线性视频| 国产亚洲人成a一在线v站| 亚洲精品日产aⅴ| 亚洲a中文字幕| 亚洲精品自在久久| 91国内产香蕉|