C++语言程序设计

例如，我们对上面定义的二维数组seasonTemp可用下面的语句初始化：
float seasonTemp[3][4] = {
{11.3, 28.2, 16.5, -7.1},
{12.4, 27.1, 17.6, -5.7},
{23.2, 33.5, 25.8, -1.3}
};
我们已经知道,二维数组在内存中是一维的，且由各行元素顺序存放得到。所以，seasonTemp也可以采用下面的语句初始化：
int seasonTemp[3][4] = {
11.3, 28.2, 16.5, -7.1, 12.4, 27.1, 17.6, -5.7, 23.2, 33.5, 25.8, -1.3
};
但是，按行初始化更直观、更通用，它能够初始化某一行中的部分元素。例如：
int seasonTemp[3][4] = {{26}, {24}, {28}};
上面的语句仅初始化数组每一行的第一个元素，而其它元素未给初值。
我们定义并初始化一个二维数组时，可以省略"常量表达式1"，例如：
int seasonTemp[][4] = {
{26, 34, 22, 17},
{24, 32, 19, 13},
{28, 38, 25, 20}
};
如果省略"常量表达式1"最好采用按行初始化的方式，否则，容易出错。编译器根据初值的行数来确定数组的行数。
注意："常量表达式2"一定不能省略，否则程序编译时会出错。因为二维数组元素在存取时，需要在一维和二维之间转换，如果省略"常量表达式2"，则编译器无法计算出它们之间的对应关系。