首先來(lái)看一段文字

捕獲_副本.png
這段話是什么意思呢?
舉個(gè)栗子:
#define SIZE = 10
int size = 10;
const int con_size = 10;
①int kk[size] = {} ②int kk[con_size] = {}
③int kk[size];
for(int i = 0;i < size; ++i){
kk[i] = i;
}
④int kk[SIZE] = {}
我們以4種方式定義和初始化數(shù)組kk,其中① ②方法都是錯(cuò)誤的,編譯器都會(huì)警示數(shù)據(jù)初始化失敗,這就是上圖中所說(shuō)的,不能初始化用變量指定維數(shù)的數(shù)組(可變長(zhǎng)數(shù)組),即便這個(gè)變量添加const屬性,但是可以先定義,然后循環(huán)訪問(wèn)初始化成員來(lái)達(dá)到初始化數(shù)組的目的,如③所示。方法④,由于SIZE是宏定義的一個(gè)符號(hào),在程序編譯前該符號(hào)會(huì)被替換成常量,也就等同于kk[10],所以初始化是沒(méi)問(wèn)題的。