int main(int argc, char* argv[]) {
// 二维数组的定义和引用
int a[2][3]; // a是一个存储着2行3列的二维整型数组
// 二维数组可以看成是一个特殊的一维数组,如a[2][3]可以看成是由两个元素a[0]和a[1]组成,
// 而a[0]和a[1]又分别是一个一维数组
// 数组名a仍然代表着数组的起始地址
// 二维数组的初始化
// 按行给二位数组赋初值
// 注意:初始值的排列顺序必须与数组各元素在内存的存储顺序完全一致
int b[2][4] = { {1,2,3,4},{5,6,7,8} };
// 按数组排列顺序对个元素进行赋值 这个与上面的赋值效果一样,但是数据所处的行列位置并不只管,不易查找错误
int c[2][3] = { 1,2,3,4,5,6 };
// 对部分元素赋初值 其余元素自动赋予0
int d[2][5] = { {1},{2,3} };
// 赋初值时,有些情况可缺省第一位长度,但第二位长度不能缺省
// 第一种情况 数组的全部元素都赋初始值时,则定义数组时对第一维长度可以缺省,例如
int e[][3] = { 1,2,3,4,5,6,7,8,9 }; // 等价于 int e[3][3] = { 1,2,3,4,5,6,7,8,9 };
// 第二种情况 在分行赋值时(含对部分元素赋初值情况),可以在定义时省略第一维的长度,例如
int f[][3] = { {1},{2,3} }; // 此时编译系统知道数组共有两行
return 0;
}