正确初始化二维数组

来源:互联网 发布:程序员表白神器 编辑:程序博客网 时间:2024/05/29 18:24

二维数组正确初始化


以下不能对二维数组正确初始化的语句是_C__。

A static int a[2][3]={0};

B static int a[ ][3]={{1,2},{0}};

C static int a[2][3]={{1,2},{3,4},{5,6}}

D static int a[ ][3]={1,2,3,4,5,6};

为什么是C呢?

首先要明确几点:
1、二维数组可按行分段赋值,也可按行连续赋值。{{1,2},{0}}是按行分段赋值,{1,2,3,4,5,6}是按行连续赋值。

2、可以只对部分元素赋初值,对于int型数组,未赋初值的元素自动取0值。

3、如对全部元素赋初值,则第一维的长度可以不给出。

A,B,D选项符合以上条件,唯有C选项,是按行分段赋值,给出了3行数据(最外层大括号内有3组分段的大括号),而定义的第一维长度是2,所以是不正确的。