我正在研究一个使用数组的程序,我正试图找出
首先,使用以下数组声明,scores[2][2]
元素中存储的值是什么?
int scores[3][3] = { {1, 2, 3} };
还有这个数组声明,scores[2][3]
元素中存储的值是什么?
int scores[5][5] = {5};
有人可以帮我解释一下。
答案 0 :(得分:5)
int scores[3][3] = { {1, 2, 3} };
相当于:
int scores[3][3] = { {1, 2, 3}, {0, 0, 0}, {0, 0, 0}};
另一个是相似的。你知道答案。
答案 1 :(得分:3)
数组索引从零开始。
这意味着:int foo[3] = {10, 20, 30};
foo[0]
是10 foo[1]
是20 foo[2]
是30 对于多维数组,您应该将它们视为数组数组。
因此,这将创建一个包含两个int[3]
s的数组:int foo[2][3] = {{10, 20, 30}, {40, 50, 60}};
foo[0][0]
是10 foo[0][1]
是20 foo[0][2]
是30 foo[1][0]
是40 foo[1][1]
是50 foo[1][2]
是60 C支持部分初始化。其中它将所有未初始化的值默认为0。
所以,如果你这样做:int foo[3] = {5};
foo[0]
是5 foo[1]
为0 foo[2]
为0 对于多维数组类似:int foo[2][3] = {5};
foo[0][0]
是5 foo[0][1]
为0 foo[0][2]
为0 foo[1][0]
为0 foo[1][1]
为0 foo[1][2]
为0