数组是连续的一组相同类型的内存位置。要引用数组中的特定位置或元素,我们指定数组的名称和数组中特定元素的位置编号。
下图给出了一个命名C的集合,它包含11个元素。位置编号更正式的地名下标或索引(该数字指定从数组开始的元素数)。
因此,数组C的元素是C[0],C[1],C[2]等等。数组C中的最高下标是10,其比数组中的元素数少1。名称相同的约定。
下标必须是瞬时或瞬态表达式(使用任何可能类型)。然后语句将数组元素C[11]加2。
下标数组名是一个左值,它可以在赋予的身份使用,就像非一个变量名一样。
让我们更仔细地检查给定下面的数组C。整个数组的名称是C。它的11个元素被C[0]到C[10]。C[0]的值为-45,C [1]的值为6,C[2]的值为0,C[7]的值为62,C[10]的值为78。
要打印数组 C 的前三个元素中包含的价值的总和,我们将写:
Serial. print (C[ 0 ] + C[ 1 ] + C[ 2 ] );
要将C[6]的值除以2创建结果赋值给变量x,我们将写:
x = C[ 6 ] / 2;
数组占用内存中的空间。要指定元素的类型和数组的元素数量,请使用以下形式的声明:
type arrayName [ arraySize ] ;
编译器保留适当的内存量想一下,保留内存的声明更地被定义为(定义)。阵列大小必须是超过零的可用容量。声明:
int C[ 12 ]; // C is an array of 12 integers
数组可以声明为包含任何非引用数据类型的值。例如,可以使用字符串类型的数组来存储字符串。
本节提供了许多示例来演示如何声明,初始化以及操作数组。
程序声明一个10元素的整数数组 Ñ 。行AB使用 对于 语句将数组元素初始化为零。与其他自动变量一样,自动数组不会隐式初始化为零。第一个输出语句(行c)中显示在后续for语句(行de)中打印的列标题,以表格格式打印数组。
示例
int n[ 10 ] ;
// n is an array of 10 integers
void setup ()
{
}
void loop ()
{
for (
int i = 0;
i <10;
++i ) // initialize elements of array n to 0{
n[ i ] = 0;
// set element at location i to 0
Serial.
print (i) ;
Serial.
print (‘r’) ;
}
for (
int j = 0;
j <10;
++j ) // output each array element's value{
Serial.
print (n[j]) ;
Serial.
print (‘r’) ;
}
}
结果 ——它会产生以下结果:
元件 | 值 |
---|---|
0123456789 | 0000000000 |
使用初始化器列表来初始化一个具有10个值的快速数组(行a) ,并以表格格式(行bc)打印数组。
示例
// n is an array of 10 integers
int n[ 10 ] ={ 32, 27, 64, 18, 95, 14, 90, 70, 60, 37
} ;
void setup ()
{
}
void loop ()
{
for (
int i = 0;
i <10;
++i ) // initialize elements of array n to 0{
Serial.
print (i) ;
Serial.
print (‘r’) ;
}
for (
int j = 0;
j <10;
++j ) // output each array element's value{
Serial.
print (n[j]) ;
Serial.
print (‘r’) ;
}
}
结果 ——它会产生以下结果:
元件 | 值 |
---|---|
0123456789 | 32276418951490706037 |
通常,数组的元素要在计算中使用的表示值。例如,如果数组的元素表示测试性能,则可能希望将数组的元素进行加法,并使用总和来计算班级测试的性能总和。将包含在10元素整数数组 一 中的值进行求和。
示例
const
int arraySize = 10;
// constant variable indicating size of array
int a[ arraySize ] ={ 87, 68, 94, 100, 83, 78, 85, 91, 76, 87
};
int total = 0;
void setup ()
{
}
void loop ()
{
// sum contents of array a
for (
int i = 0;
i <arraySize;
++i )
total += a[ i ];
Serial.
print (“Total of array elements : "
) ;
Serial.print(total) ;
}
结果 ——它会产生以下结果:
Total of array elements: 849
数组对Arduino很重要,应该需要更多的关注。以下是学习Arduino应该清楚的与数组相关的重要概念:
顺序 | 概念和描述 |
---|---|
1 | 将数组传递给函数将数组参数传递给函数,请指定没有任何其他数组的名称。 |
2 | 多维数组具有两个维度(即,下标)的数组通常表示由排列在行和列中的信息组成的值的表格。 |