国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

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

2020-01-26 14:53:01
字體:
來源:轉載
供稿:網友

C++數組的概念
概括地說:數組是有序數據的集合。要尋找一個數組中的某一個元素必須給出兩個要素,即數組名和下標。數組名和下標惟一地標識一個數組中的一個元素。

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


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

C++用方括號來表示下標,如用s[1],s[2],s[3] 分別代表s1,s2,s3。

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

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

【例】用函數處理。

今設一函數max_value,用來進行比較并返回結果。可編寫程序如下:

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

用數組名作函數參數

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

【例】用選擇法對數組中10個整數按由小到大排序。

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

#include <iostream>using namespace std;int main( ){  void select_sort(int array[],int n); //函數聲明  int a[10],i;  cout<<"enter the originl array:"<<endl;  for(i=0;i<10;i++) //輸入10個數   cin>>a[i];  cout<<endl;  select_sort(a,10);//函數調用,數組名作實參  cout<<"the sorted array:"<<endl;  for(i=0;i<10;i++) //輸出10個已排好序的數   cout<<a[i]<<" ";  cout<<endl;  return 0;}void select_sort(int array[],int n) //形參array是數組名{  int i,j,k,t;  for(i=0;i<n-1;i++)  {   k=i;   for(j=i+1;j<n;j++)     if(array[j]<array[k]) k=j;   t=array[k];array[k]=array[i];array[i]=t;  }}

運行情況如下:

enter the originl array:6 9 -2 56 87 11 -54 3 0 77

主站蜘蛛池模板:
洛川县|
河北区|
罗甸县|
建阳市|
阳江市|
饶平县|
隆昌县|
萨嘎县|
乌拉特前旗|
屯门区|
东阳市|
高阳县|
呼伦贝尔市|
青州市|
鹰潭市|
和林格尔县|
化隆|
德江县|
高要市|
乳山市|
鄂伦春自治旗|
民权县|
隆林|
广宁县|
涟源市|
胶州市|
武胜县|
屏东市|
赞皇县|
定兴县|
楚雄市|
日喀则市|
宁化县|
清徐县|
屏东县|
苍南县|
吉木萨尔县|
安乡县|
碌曲县|
恭城|
韩城市|