int a[3][3] = { {1, 2, 3} , {4, 5, 6} , {7, 8, 9} };
正在工作
int a[3][3] ;
a[3][3] = { {1, 2, 3} , {4, 5, 6} , {7, 8, 9}
不工作。它在我的gcc编译器中显示和错误
答案 0 :(得分:3)
第一行代码是声明数组并定义整个内容。你在这里说的是"用这些内容创建一个3x3的整数数组。"
当你写:
int a[3][3];
你说的是,"创建一个3x3的整数数组。"您没有指定内容。
你的第二个例子有两个问题。
首先,数组是从0开始的,因此a[3][3]
不存在。有效索引为0,1和2.
更重要的是,当您解决a[x][y]
时,您正在寻找该特定单元格。换句话说,"为数组中的单元格[2] [2]赋值。"
所以a[2][2] = 42;
有效。但是您无法将数组分配给a[2][2]
,因为它只包含一个整数。