C語言書中寫到在定義二維數(shù)組時(shí),可以省略第一維的坐標(biāo),如 int a[][3] = {{4,1,6},{2,3,5}}; 是合法的
但是不可以省略二維或者更高維的坐標(biāo)。 如 int a[3][] = {{4,1,6},{2,3,5}}; 是不合法的
這是由編譯器原理限制的。 如 定義a[2][3], 在我們引用數(shù)組元素a[1][2]時(shí) 編譯器的尋址方式是 a+ 1*3+2,若不指定第二維
則編譯器將不知道數(shù)組的列數(shù)也就無法尋址。