二维数组初始化值

时间:2014-12-02 11:37:03

标签: c++ arrays

我正在研究一个使用数组的程序,我正试图找出

首先,使用以下数组声明,scores[2][2]元素中存储的值是什么?

int scores[3][3] = { {1, 2, 3} };

还有这个数组声明,scores[2][3]元素中存储的值是什么?

int scores[5][5] = {5};

有人可以帮我解释一下。

2 个答案:

答案 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