也說數組

以前老是覺得數組是一個很簡單的玩意兒,近來看了一些資料,瞭解以前不曾留意的細節。記於下:

1.數組定義

  

int  a[MAX]={0};                int main( )
int main( )                          {
{.... /*省略*/                        int a[MAX]={0};
return 0;                            return 0;
}                                       }
上述兩個程序都定義了一個整型數組,一般來說是沒什麼差別的。但是,在實驗中MAX的值足夠大的時候,左側的程序中的MAX比右側中MAX能取得的最大值要大。這就告訴我們:  如需要一個很大的數組,建議將數組定義在main函數之外,而不是之內,若定義在main之內的話,數組稍大就會異常退出。

2.數組間賦值

已知兩個同類型的數組,int  a[10] ,b[10],拷貝一個數組到另一個數組中,部分或者全部。

#include<iostream>
#include<string.h>   //函數memcpy對應的頭文件
using namespce std;
int main( )
{int a[10],b[10]={0};//也可這樣:memset(b,0,sizeof(b));
for(int i=0;i++;i<10)
     a[i] = i ;
memcpy(b,a,sizeof(int)*10);
for(int i=0;i++;i<10)
    cout<<b[i]<<" ";
return 0;
}
以上的全部拷貝,也可以改爲複製部分:
memcpy(b,a,sizeof(int)*5);   /*前五個元素,對應同位置的前5個b[0]---b[4]*/
memcpy(b+1,a,sizeof(int)*5);  /*a前五個元素,複製到b中的b[1]---b[5]*/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章