为了账号安全,请及时绑定邮箱和手机立即绑定

int x[][3]={{0},{1},{1,2,3}}; 为什么第一个可以不设置长度?

后面的3不是设置每个数组的元素是3个的意思吗。。为什么 有一个的也对????

正在回答

3 回答

因为int x[][3];这条语句中前面的[]表示这个二维数组的行,[3]表示这个二维数组的列。

在列有指出,但是行没有指出的时候,可以通过对这个二维数组赋初值得到,比如你给其赋的值为“{{0},{1},{1,2,3}}”,可以知道这个二维数组有三行。


至于为什么有的{}中只有一个值也可以,是因为{}中只有一个值,后面的就默认初始化为0

所以你这个数组的所有元素的值如下:

x[0][0]~x[0][2]        0, 0, 0

x[1][0]~x[1][2]        1, 0, 0

x[2][0]~x[2][2]        1, 2, 3

9 回复 有任何疑惑可以回复我~
#1

weibo_敏哥哥LXM_0 提问者

非常感谢!
2015-11-01 回复 有任何疑惑可以回复我~

用大括号列表指定数组初值时,如果提供的元素个数不足数组大小,缺少的那几个元素会被初始化为0。

0 回复 有任何疑惑可以回复我~
0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

int x[][3]={{0},{1},{1,2,3}}; 为什么第一个可以不设置长度?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信