Arduino 中的 Multi

首页 / Arduino入门教程 / Arduino 中的 Multi

具有二维的数组(即下标)通常表示由以行和列排列的信息组成的值表。

int b[ 2 ][ 2 ]={ { 1, 2 }, { 3, 4 } };

这些值按大括号按行分组,因此,1和2分别初始化b [0] [0]和b [0] [1],而3和4分别初始化b [1] [0]和b [1] [1],如果给定行的初始化程序不足,则将该行的其余元素初始化为0。因此,以下声明将b [0] [0]初始化为1,b [0] [1]初始化为0,b [ 1] [0]至3和b [1] [1]至4。

链接:https://www.learnfk.comhttps://www.learnfk.com/arduino/arduino-multi-dimensional-arrays.html

来源:LearnFk无涯教程网

int b[ 2 ][ 2 ]={ { 1 }, { 3, 4 } };

Multi-Dimensional Arrays - 示例

void printArray ( const int [][ 3 ] ); //prototype
const int rows=2;
const int columns=3;
int array1[ rows ][ columns ]={ { 1, 2, 3 }, { 4, 5, 6 } };
int array2[ rows ][ columns ]={ 1, 2, 3, 4, 5 };
int array3[ rows ][ columns ]={ { 1, 2 }, { 4 } };

void setup () {

}
void loop () {
   Serial.print ("Values in array1 by row are: ") ;
   Serial.print (“\r ) ;
   printArray(array1) ;
   Serial.print ("Values in array2 by row are: ") ;
   Serial.print (“\r ) ;
   printArray(array2) ;
   Serial.print ("Values in array3 by row are: ") ;
   Serial.print (“\r ) ;
   printArray(array3) ;
}

//两行三列的输出数组

void printArray( const int a[][ columns ] ) {
   //循环遍历数组的行
   for ( int i=0; i < rows; ++i ) {
      //循环遍历当前行的列
      for ( int j=0; j < columns; ++j )
      Serial.print (a[ i ][ j ] );
      Serial.print (“\r ) ; //开始新的输出行
   } 
//结束外部
} 

//结束函数 printArray
Values in array1 by row are:
1 2 3
4 5 6
Values in array2 by row are:
1 2 3
4 5 0
Values in array3 by row are:
1 2 0
4 0 0

例如,以下 FOR 语句设置数组 a 的第2行中的所有元素。

for ( int column=0; column < 4; ++column )
   a[ 2 ][ column ]=0;

FOR 语句仅更改第二个下标(即列下标)。前面的 FOR 语句等效于以下赋值语句-

a[ 2 ][ 0 ]=0;
a[ 2 ][ 1 ]=0;
a[ 2 ][ 2 ]=0;
a[ 2 ][ 3 ]=0;

以下 Nested FOR 语句确定数组 a 中所有元素的总数-

total=0;
for ( int row=0; row < 3; ++row )
for ( int column=0; column < 4; ++column )
total += a[ row ][ column ];

FOR 语句一次将数组的元素总计一行,外部 FOR 语句从将行(即行下标)设置为0开始。因此,内部 FOR 语句可以将第0行的元素总计。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

AI技术内参 -〔洪亮劼〕

数据结构与算法之美 -〔王争〕

架构实战案例解析 -〔王庆友〕

编译原理实战课 -〔宫文学〕

OAuth 2.0实战课 -〔王新栋〕

重学线性代数 -〔朱维刚〕

高楼的性能工程实战课 -〔高楼〕

如何讲好一堂课 -〔薛雨〕

互联网人的数字化企业生存指南 -〔沈欣〕

好记忆不如烂笔头。留下您的足迹吧 :)