举例说明Arduino中的数组是什么?

496 阅读4分钟

数组是一种数据结构,用于在其中存储同一数据类型的多个值;例如,用整数数据类型声明的数组可以在其中存储多个整数。在Arduino中,有时我们必须使用多个值,例如,我们应该闪烁五个LED,我们将声明一个整数数组,该数组将存储我们将连接LED的5个针脚号码。

Arduino中数组的使用与其他编程语言相似,所以在这篇文章中,我们将解释数组以及在Arduino中利用它们的方法。

什么是Arduino中的数组

Arduino中的数组使用内存中的多个连续位置,并在其中存储相同数据类型的多个变量。使用数组的好处是,它可以节省系统的内存,如果在执行代码时,数组的大小不足以存储元素,它可以将它们存储在连续的内存位置。

Arduino中数组的结构是什么?

Arduino中数组的结构与其他编程语言相似。考虑一下下面的图片。


在上图中,解释了数组[5]的元素。我们有一个数组[5],它有5个内存位置。数组的名称是 "array",存储在数组中的值是;55, 145, 250, 0, 和193。这个数组在array[0]、array[1]、array[2]、array[3]和array[4]的位置上都有元素,数组的值将被存储在这些位置上。位置号也被称为索引号,它总是从零位置开始,并在比数组的总大小少一个的位置结束。

如何在Arduino中声明数组

像其他不同数据类型的变量在Arduino中被声明一样,数组也被声明。数组的声明可以是全局性的,也可以是在函数中以指定的数据类型进行声明,这些数值将被存储在其中。有三种不同的方法来声明数组,分别是。

方法1:数组可以通过提及它们的大小和数值来声明,例如,我们以 "arr1 "的名字声明一个数组,它有5个数值;1,2,3,4,和5。该数组的声明将是。

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

方法2:另一种声明数组的方法是不提数组的大小,例如,我们声明上面的数组arr1,不提它的大小,所以我们可以在数组中存储超过5个元素。

char arr1[]={‘a’,’b’,’c’};

方法3:最后一种声明数组的方法是不提数组的大小和值,如。

int arr1[];

如何访问数组中的元素

我们可以通过使用索引号来访问数组中的任何特定值,例如,我们有一个数组,arr1[5]={11,22,33,44,55},在这个数组中,如果我们想访问并打印索引号为 "2 "的值 "33",我们将在方括号中使用数组名称和索引号"[]"。

我们将考虑一些使用数组的实际例子。

例1:我们将使用int、string和char数据类型声明三个数组。然后将在串行显示器上显示这些数组。

void setup(){Serial.begin(9600);

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

Serial.print("The elements of array a are: ");

for(int i=0; i<5; i++){

Serial.print(a[i]);

}

Serial.println();

String b[3]={ "Resistor ", "Capacitor ", "LED" };

Serial.print("The elements of array b are: ");

for(int i=0; i<3; i++){

Serial.print(b[i]);

}

Serial.println();

char c[]={ 'a','b','c','d'};

Serial.print("The elements of array c are: ");

for(int i=0; i<4; i++){

Serial.print(c[i]);

}

Serial.println();

}

void loop(){

}



在上面的代码中,我们通过定义其大小5和值,声明了一个整数数据类型的数组a[]。然后使用for循环打印这个数组。同样地,我们声明了一个字符串数组b[],它的大小为3,并插入了一些值。最后,我们声明了一个没有任何大小的char数组,但给出了值。所有这些数组都使用9600波特率的串行通信打印在串行监视器的输出上。

例2:在这个例子中,我们将使用代码访问数组的一个特定值。

void setup(){Serial.begin(9600);

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

Serial.print("The element of array at a[0] is: ");

Serial.print(a[0]);

}

void loop(){

}

在上面的代码中,我们声明了一个整数数组,a[5],并在数组中存储了一些值,然后我们通过使用第一个元素的索引(总是0)来访问数组的第一个元素。并通过串行通信将输出显示在串行显示器的输出上。

总结

在Arduino中,数组是用来存储相同数据类型的多个值的数据结构。数组是连续的内存分配,其中的值。在这篇文章中,我们通过定义其结构和声明方法讨论了数组。我们还解释了一些例子,这样就可以很容易地理解Arduino中数组的使用。