以下能正确定义二维数组的是______。
A) int a[][3];
B) int a[][3]=2*3;
C) int a[][3]=;
D) int a[2][3]=1), 2, 3,4;
参考答案:B
解析: (1)二维数组的定义
二维数组的定义方式为:类型说明符数组名[常量表达式][常量表达式]。
二维数组在内存中是按行优先的顺序存放的,即先存放第一行的元素,再存放第二行的元素,依次类推。
(2)二维数组元素的引用
二维数组元素的表示形式为:数组名[下标][下标],下标可以是整型常量或整型表达式;其范围为:0~(常量表达式-1)。
(3)二维数组的初始化
可以用以下方法对二维数组元素初始化。
①分行给二维数组赋初值,例如;
int a[2][2]=({1, 2), {3, 4));
这种赋值方式比较直观,把第1个大括号内的数据赋给第1行的元素,第2个大括号内的数据赋给第2行的元素,即按行赋值。
②可以将所有数据写在一个大括号内,按数组排列的顺序对各个元素赋初值。
③可以对部分元素赋初值,没有初始化的元素值为0。
④如果对全部数组元素赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。