4.3 arduino数组

数组是连续的一组相同类型的内存位置。要引用数组中的特定位置或元素,我们指定数组的名称和数组中特定元素的位置编号。

下图给出了一个命名C的集合,它包含11个元素。位置编号更正式的地名下标或索引(该数字指定从数组开始的元素数)。

因此,数组C的元素是C[0],C[1],C[2]等等。数组C中的最高下标是10,其比数组中的元素数少1。名称相同的约定。

.3

下标必须是瞬时或瞬态表达式(使用任何可能类型)。然后语句将数组元素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

数组可以声明为包含任何非引用数据类型的值。例如,可以使用字符串类型的数组来存储字符串。

使用数组的示例

本节提供了许多示例来演示如何声明,初始化以及操作数组。

示例1:声明数组并使用循环来初始化数组的元素

程序声明一个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’) ;

 
 } 
  }

结果 ——它会产生以下结果:

元件
01234567890000000000

示例2:使用初始化器列表在声明中初始化数组

使用初始化器列表来初始化一个具有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’) ;

 
 } 
  }

结果 ——它会产生以下结果:

元件
012345678932276418951490706037

示例3:对数组的元素求和

通常,数组的元素要在计算中使用的表示值。例如,如果数组的元素表示测试性能,则可能希望将数组的元素进行加法,并使用总和来计算班级测试的性能总和。将包含在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多维数组具有两个维度(即,下标)的数组通常表示由排列在行和列中的信息组成的值的表格。
联系我们

联系我们

微信:13823392571

在线咨询:点击这里给我发消息

工作时间:周一至周五,9:30-18:30,节假日休息

微信客服
微信客服
分享本页
返回顶部