2014年7月17日 星期四

陣列

1.
宣告陣列之後,陣列所配置到的記憶體空間中所儲存的數是未知的,所以在初始陣列元素值之前,當中的元素值是未知的,如果您在宣告變數時尚未決定陣列中的 值,可以這麼宣告陣列: 
    int irr[10] = {0}; 
    double darr[10] = {0.0}; 
    char carr[10] = {'\0'};

    bool barr[10] = {false};

2.
如果您在宣告陣列時只希望初始幾個元素,則可以這麼宣告: 
int iarr[5] = {0, 1}; 
double darr[5] = {0.0, 0.1}; 
char carr[5] = {'A', 'B'}; 
bool barr[5] = {false, true};

像上例中,都只初始索引0與索引1的兩個元素,其它未初始的元素,整數的話會自動初始為0,浮點數的話會自動初始為0.0,字元的話會自動初始為空字元 ('\0'),而boolean數的話會自動初始為false。 


3.
如何得知陣列的長度:
    int iarr[] = {1, 2, 3, 4, 5, 6};
  陣列長度為: sizeof(iarr) / sizeof(iarr[0])


4.
不可以將陣列直接指定給另一個陣列,或是直接比較兩個陣列是否相同
int arr1[5];
int arr2[5];
...
arr1 = arr2; // 錯誤!不能直接指定陣列給另一個陣列
...
if(arr1 == arr2) { // 錯誤!不能直接比較兩個陣列是否相同
    ...
}

只能循序一個一個元素進行複製或比對


沒有留言:

張貼留言