数组是一种可访问的变量的集合。Arduino的数组是基于C语言的,实现起来虽然有些复杂,但使用却很简单。
一、创建或声明一个数组
数组的声明和创建与变量一致,下面是一些创建数组的例子。
arrayInts[6];
arrayNums []={2,4,6,8,11};
arrayVals[6]={2,4,-8,3,5};
char arrayString[7]="Arduino";
由例子中可以看出,Arduino数组的创建可以指定初始值,如果没有指定,那么编译器默认为0,同时,数组的大小可以不指定,编译器在监察时会计算元素的个数来指定数组的大小。在arrayString中,字符个数正好等于数组大小。
提示:在声明时元素的个数不能够超过数组的大小,即小于或等于数组的大小。
二、 指定或访问数组
在创建完数组之后,可以指定数组的某个元素的值。
int intArray[3];
intArray[2]=2;
数组是从零开始索引的,也就说,数组初始化之后,数组第一个元素的索引为0,如上例所示,arrayString[0]为“A”即数组的第一个元素是0号索引,并以此类推。这也意味着,在包含10个元素的数组中,索引9是最后一个元素。因此,在下个例子中:
int intArray[10]={1,2,3,4,5,6,7,8,9,10};
//intArray[9]的数值为 10
//intArray[10],该索引是无效的,它将会是任意的随机信息(内存地址)
出于这个原因,在访问数组时应该注意。如果访问的数据超出数组的末尾-如访问intArray[10],则将从其他内存中读取数据。从这些地方读取的数据,除了产生无效的数据外,没有任何作用。向随机存储器中写入数据绝对是一个坏主意,通常会导致一些意外的结果,如导致系统崩溃或程序故障。顺便说一句,不同于Basic或Java,C语言编译器不会检查访问的数组是否大于声明的数组。