更好地解释数组

Better explanation of arrays

本文关键字:数组 解释 更好      更新时间:2023-10-16

嗨,我自学c++有一段时间了,一直在学习数组部分。我还没有完全理解数组(和嵌套的for循环),非常感谢您的帮助

const int ROWS = 5;
const int COLUMNS = 3;
for (int i = 0; i < ROWS; ++i)
{
    for (int j = 0; j < COLUMNS; ++j)
            cout << i << "," << j << " ";
    cout << endl;
}

显示
0,0 0,1 0,2
1,0 1,1 1,2
2,0 2,1 2,2
3,0 3,1 3,2
4,0 4,1 4,2

当我浏览代码时,它看起来应该更像

0,0 0,1 0,2 1,0 1,1 1,2 2,0 2,1 2,2 3,0 3,1 3,2 4,0 4,1 4,2

为什么在3组2之后自动创建一个新行?

我不知道迭代器是什么。我在矢量文件名中使用了它们但我仍然不知道它们是什么以及它们如何改变数据

3)这些'[]'在这段代码中做什么?

const int ROWS = 3;
    const int COLUMNS = 3;
    char board[ROWS][COLUMNS] = { {'O', 'X', 'O'},
                                   {' ', 'X', 'X'},
                                     {'X', 'O', 'O'} };
    cout << "Here's the Tic-Tac-Toe board:n";
    for (int i = 0; i < ROWS; ++i)
    {
        for (int j = 0; j < COLUMNS; ++j)
            cout << board[i][j];
        cout << endl;
    }
更具体地说, 是什么?
[ROWS][COLUMNS] 

和为什么它们属于这些盒子。

cout << board[i][j]

输出tic tac toe板。

我意识到这是一个太多的要求,但我不知道我现在在书中编程,真的很感谢帮助

1) line "cout <<"是创建换行符。前一行输出两个逗号分隔的值,i(第一个for循环的迭代)和j(第二个for循环的迭代)。第二个循环是递增j,直到j = COLUMNS(3)。所以你得到了这两个值的3个循环,后面是一个新的行。然后因为第一个循环而重复此操作,将i递增,直到它等于ROWS(5)。这就是为什么您得到5行。

2)本例中的迭代器是i和j,它们是int型变量,用于测量循环中的位置,因为每次循环操作时,它们都会加1。

3)[]声明一个数组。例如

int myArray[3] 

创建一个数组,该数组有三个int型的空间。

char board[ROWS][COLUMNS]

正在创建一个多维数组。因此,在一个维度上有一个长度为ROWS的数组,在另一个维度上有一个长度为COLUMNS的数组。

然后,在你的循环

cout << board[i][j]

输出数组第一维位置I和第二维位置j的值。