1.靜態陣列長度必須事先決定,不可以使用變數來事後決定陣列的長度。
2.宣告陣列時,對於陣列中尚未決定的值,整數陣列的元素會被初始為0,浮點數陣列會被初始為0.0,字元陣列則會被初始為空字元('\0'),而boolean數陣列則會 被初始為false,在宣告陣列時初始陣列元素,可以避免其它的程式存取到非預期的數值。 
3.可以將陣列名稱想成一個指標,指向陣列第一個元素的位址。
4.索引值表示所指陣列元素相對於陣列第一個元素的位移量,位移的量與資料型態長度有關,如果是int整數,則每次位移時是一個int整數的長度,例如iarr[9]就是指相對於第一個元素的位移量為9,C++根據陣列第一個元素的記憶體位置與位移量來得到所指定要存取的陣列元素。
5.不可以將陣列直接指定給另一個陣列,或是直接比較兩個陣列是否相同,例如:

           int arr1[5];
           int arr2[5];
          arr1 = arr2; (錯誤!不能直接指定陣列給另一個陣列)
          if(arr1 == arr2) (錯誤!不能直接比較兩個陣列是否相同)
如果要將陣列指定給另一個陣列,只能循序一個一個元素進行複製,例如:
const int length = 5;
int arr1[length];
int arr2[length];
for(int i = 0; i < length; i++) {
    arr1[i] = arr2[i];
}

同樣的,如果想比較兩個陣列元素內容是否相同,也要用一個個元素進行比對。    
6.即使是二維空間,其在記憶體中也是線性配置的,例如: 
二維陣列配置

 


arrow
arrow
    全站熱搜

    阿洲 發表在 痞客邦 留言(0) 人氣()