请问int x[][3]={1,2,3,4};这样定义的数组是什么样的?
1 2 3
4 0 0 x[0][0]=1 x[0][1]=2 x[0][2]=3 x[1][0]=4
这样定义x为一个数组,其元素是“含有3个int的数组”。后面braces initializer中的数会依次赋予数组的各个元素,所以1 2 3分给了x的第一个元素,该元素就是一个{1, 2, 3}数组。还剩一个4,但x的第二个元素仍是一个“含有3个元素的数组”,所以x的第二个元素就是{4, 0, 0}数组(数组初值不足的用0补全)。 整个x数组含有2个元素,它们是含有3个元素的数组,x共有6个int,这点你可以用sizeof x来验证。
int真的可以么?
int *x[3] 这样定义不是没事找事吗?