首页 > 其他分享 >无涯教程-Arduino - Multi-Dimensional Arrays函数

无涯教程-Arduino - Multi-Dimensional Arrays函数

时间:2023-10-21 12:31:48浏览次数:32  
标签:语句 Multi Arduino Arrays column int print Serial row

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

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。

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行的元素总计。

参考链接

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

标签:语句,Multi,Arduino,Arrays,column,int,print,Serial,row
From: https://blog.51cto.com/u_14033984/7966204

相关文章

  • 无涯教程-Arduino - micros()函数
    micros()函数返回从Arduino开发板开始运行当前程序起的毫秒数,该数字溢出,即大约70分钟后恢复为零。micros-语法micros();此函数返回自程序启动以来的微秒数(无符号长)micros-示例unsignedlongtime;voidsetup(){Serial.begin(9600);}voidloop(){......
  • 无涯教程-Arduino - delayMicroseconds()函数
    delayMicroseconds()函数接受一个整数(或数字)参数,该数字表示时间,以微秒为单位,一毫秒有一千微秒,一秒有一百万微秒。当前,可以产生准确延迟的最大值是16383,这可能会在将来的Arduino版本中改变,对于超过几千微秒的延迟,应改为使用delay()函数。delayMicroseconds-语法delayMicr......
  • 无涯教程-Arduino - for语句函数
    for循环执行语句预定次数。forloop-语法for(initialize;control;incrementordecrement){//语句块}forloop-示例for(counter=2;counter<=9;counter++){//statements块将执行10次}forloop-执行序列参考链接https://www.learnfk.com/arduin......
  • 无涯教程-Arduino - while语句函数
    while循环将连续且无限地循环,直到括号()中的表达式变为false为止,必须更改测试变量,否则while循环将永远不会退出。whileloop-while-语法while(expression){Blockofstatements;}whileloop-while-执行序列参考链接https://www.learnfk.com/arduino/arduino-w......
  • 无涯教程-Arduino - switch case语句函数
    与if语句类似,switch...case通过允许程序员指定应在各种条件下执行的不同代码来控制程序的流程,break关键字使switch语句退出,并且通常在每种情况下使用。switchcase-语法switch(variable){caselabel://statementsbreak;}caselabel:{//statemen......
  • 无涯教程-Arduino - 水检传感器
    水传感器砖专为水检测而设计,可广泛用于感应降雨,水位甚至液体泄漏。将水传感器连接到Arduino是检测泄漏,溢出,洪水,下雨等的好方法。它可用于检测水的存在,水平,体积,虽然这可以提醒您给植物浇水,但是有一个更好的Grove传感器可以用来浇水,传感器具有一系列裸露的迹线,当检测到水时,这些迹......
  • 无涯教程-Arduino - 温度传感器
    温度传感器LM35系列是精密集成电路温度设备,其输出电压与摄氏度的温度成线性比示例。LM35器件相对于用开尔文(Kelvin)校准的线性温度传感器具有优势,因为不需要用户从输出中减去较大的恒定电压即可获得方便的摄氏刻度。LM35器件不需要任何外部校准或修整即可在室温下提供±¼°C......
  • 无涯教程-Arduino - 渐变LED
    该示例演示了如何在LED熄灭时使用AnalogWrite()函数,AnalogWrite使用脉宽调制(PWM),以on/off之间的不同比率非常快速地打开和关闭数字引脚,以产生fading效果。所需组件您将需要以下组件-1×Breadboard1×ArduinoUnoR31个LED1×330Ω电阻2×跳线电路图遵循电路图,并......
  • 无涯教程-Arduino - 闪烁的LED
    LED是小巧而函数强大的灯,可用于许多不同的应用中,首先,我们将使LED闪烁(微控制器的HelloLearnfk),就像打开和关闭灯一样简单,创建这个重要的基准将为您进行更复杂的实验打下坚实的基础。所需组件您将需要以下组件-1×面包板1×ArduinoUnoR31个LED1×330Ω电阻2×跳线......
  • 无涯教程-Arduino - 外围串口
    串行外围设备接口(SPI)总线是用于串行通信的系统,它最多使用四根导线,通常为三根,一根导线用于数据接收,一根导线用于数据发送,一根导线用于同步,另一根导线用于选择要与之通信的设备,这是全双工连接,这意味着将同时发送和接收数据,最大波特率高于I2C通信系统中的波特率。BoardSPIPins......