關於C語言數組的初始化

    在數組初始化的時候,若是要把一個整型數組所有初始成0,我會這樣寫 ubuntu

int a[N] = {0};
    我原先覺得是由於這個0,因此數組的所有元素才被初始化成0。那很「明顯」下面聲明會把數組所有元素初始化成1
int a[N] = {1};
    但結果是隻有第一個元素被初始化成1,剩下的所有被初始化成0。

    因此我嘗試瞭如下聲明 數組

int a[N] = {};
    輸出結果是所有元素被初始化成0。

    因此我猜測,數組所有元素被初始化成0是因爲這個花括號,而不是裏面的0。上面的第一個語句的花括號的0裏面也只是表示數組第一個元素初始化成0。也可能分開0和其餘數字是分開處理的,但好像可能性不大。(上面語句只用gcc在ubuntu下編譯過) spa

相關文章
相關標籤/搜索