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
庫進行許多操作,例如加法、減法、乘法、逆運算和列印二維陣列。閱讀改庫的文件以獲取更多資訊,並在此處檢視示例。