來源:https://zhidao.baidu.com/question/380723280.html
int a[]={1,2,3}; 這種方式初始化,大括號里寫了幾個元素那么陣列里就有幾個元素,相當于int a[3]={1,2,3}
int a[3]={0}; 這樣是將a中的所有元素初始化為0;
int a[4]={1,2}; 這樣是將a[0]初始化為1,a[1]初始化為2,其他的初始化為0
注意,如果不進行初始化,陣列中元素的值不是0,而是一個不確定的值
uj5u.com熱心網友回復:
int a[3]={0};只是將a[0]初始化為了0而已uj5u.com熱心網友回復:
部分初始化,其余的就是0啊uj5u.com熱心網友回復:
不是你想的這樣,int a[3]=0,是把3個元素都初始化為零了uj5u.com熱心網友回復:
輸錯了,是int a[3]={0};uj5u.com熱心網友回復:
int a[3]={0}; 將3個元素都初始化了,第一個元素初始化為指定值0即a[0]=0;其他兩個元素初始化為默認值0。默認值為0是因為常量{0}將在DS資料段站3個元素的空間(DS資料段未初始化時默認值為0,這些資料存盤于磁盤上的.EXE檔案,加載到記憶體后對應元素為0)。但這種初始化方式是不提倡使用的,因為{0}偷用了DS的記憶體,而資料段DS也不是無限大的,偷用多了就會導致沒有記憶體存放全域變數或靜態變數,編譯后連接就不會成功。不信的化可以在函式中多定義這樣的陣列:轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/203994.html
標籤:C++ 語言
上一篇:請問,這是什么語法?
