更好地解释数组
Better explanation of arrays
嗨,我自学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的值。
相关文章:
- 请解释字谜的代码,我看不懂计数器数组,每个值已经是0
- 有人可以在 c++ 中解释数组的这种输入
- 有人可以在下面的示例 C++ 程序中解释字符数组 KCHAR1 的奇怪行为吗?
- 有人可以解释一下吗?这是关于数组和数组内部 if 语句的一些处理
- 我在 2D 数组的动态内存分配中遇到了一些奇怪的代码C++? 请解释一下这是什么?
- 解释通过从函数引用返回数组的语法
- C++ 用户定义的数组被解释为十六进制?
- 数组中无法解释的最后一个项目
- 将 std::string 重新解释为无符号的 int 数组
- [C++]重新定义 y 值的基本数组代码。它正在工作,但无法解释为什么
- 谁可以帮助解释我的代码中出了什么问题.计算C ++中的数组
- 将整数解释为字节数组的安全性
- 任何人都可以向我解释为什么我不能打印出数组值
- 请解释带指针的数组
- 以符合标准的方式用与数组相同类型的成员重新解释结构
- 将字符数组解释为多个连接的数据类型
- 数组c++解释
- Char 数组解释为构造函数中的 char 指针请帮助
- c++递归数组解释
- Java-如何将char[]数组解释为int