Arduino 二维数组
- Arduino 中的二维数组初始化
- 在 Arduino 中将数据存储到二维数组中
- 在 Arduino 中的特定位置替换二维数组中的值
- 在 Arduino 中二维数组中的特定位置检索值
-
用于 2D 数组的 Arduino
MatrixMath
库
在本教程中,我们将讨论 Arduino 中的二维数组。我们将讨论如何初始化二维数组并使用它来存储数据。
Arduino 中的二维数组初始化
二维数组初始化与一维数组初始化非常相似。在二维数组中,我们必须定义行数和列数,然后使用一些数据对其进行初始化。例如,请参见下面的代码。
void setup() {
int nRow = 2;
int nCol = 4;
int myArray[nRow][nCol] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
}
在上面的代码中,nRow
是类型为 int
的变量,用于定义二维数组中 W 的行数。nCol
是类型为 int
的变量,用于定义二维数组中的列数,而 myArray
是类型为 int
的数组,用于存储给定的 int
值。你可以根据给定的数据更改所有这些值。请注意,你还可以在 Arduino 中定义其他数据类型数组,例如 float
。另外,请注意,在数组初始化期间,必须定义行数和列数,或者至少要定义列数。
在 Arduino 中将数据存储到二维数组中
如果要将数据存储到二维数组中,则必须使用两个循环。要将数据存储在二维数组中,你必须到二维数组中的每个位置并将数据存储在那里。二维数组包含许多元素,因此手动在每个位置存储数据将非常耗时。为了节省时间,你可以使用两个循环去到每个位置并将给定数据存储在特定位置。例如,请参见下面的代码。
void setup() {
int data = 0;
int myArray[nRow][nCol];
for (int nr = 0; nr < nRow; nr++) {
for (int nc = 0; nc < nCol; nc++) {
myArray[nr][nc] = data++;
}
}
}
在上面的代码中,我们使用两个循环去到二维数组中的每个位置,并将给定的数据存储在那里。在此示例中,数据是值为零的变量,但是你可以根据给定的数据更改其值。该方法将在 2d array
中的每个位置存储或替换数据。
在 Arduino 中的特定位置替换二维数组中的值
如果只想在一个位置存储或替换数据,则只需要对特定位置使用赋值运算符。例如,请参见下面的代码。
void setup() {
int nRow = 2;
int nCol = 4;
int myArray[nRow][nCol] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
myArray[nRow][nCol] = 0;
}
在上面的代码中,我们将二维数组的 nRow
和 nCol
位置上的值替换为 0
。
在 Arduino 中二维数组中的特定位置检索值
如果要从二维数组中的特定位置获取值,则可以使用赋值运算符。例如,请参见下面的代码。
void setup() {
int nRow = 2;
int nCol = 4;
int myArray[nRow][nCol] = {{1, 2, 3, 4}, {5, 6, 7, 8}};
int myValue = myArray[nRow][nCol];
}
在上面的代码中,我们正在检索二维数组中 nRow
和 nCol
位置处的值,即 8
。
用于 2D 数组的 Arduino MatrixMath
库
你可以使用 Arduino 中提供的 MatrixMath
库进行许多操作,例如加法、减法、乘法、逆运算和打印二维数组。阅读改库的文档以获取更多信息,并在此处查看示例。