数组——一种储存大量同性质数据的连续存储器空间
a [6];
b [] = {2,4,8,3,6};
c[6] = {1,2,3,4,5,6};
char d[6] = "hello";
以上方式均是数组创建的常用方式~
数组是从零开始索引的,也就说,上面所提到的数组初始化,数组第一个元素是为索引0
指定一个数组的值:
a [0] = 10;
从数组中访问一个值:
X = c [4];
数组与for循环是好基友
数组往往在for循环中进行操作,循环计数器可用于访问每个数组元素。例如,将数组中的元素通过串口打印,可以这样做:
int i;
for (i = 0; i < 5; i = i + 1) {
Serial.println(c[i]);
}
可能很多忘了C语言数组与for循环的同学上来会写这么一大串代码
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
void loop() {
digitalWrite(8, HIGH);
delay(100);
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
delay(100);
digitalWrite(9, LOW);
digitalWrite(10,HIGH);
delay(100);
digitalWrite(10, LOW);
digitalWrite(11,HIGH);
delay(100);
digitalWrite(11, LOW);
digitalWrite(12,HIGH);
delay(100);
digitalWrite(12, LOW);
digitalWrite(13,HIGH);
delay(100);
digitalWrite(13, LOW);
}
虽然很简单易懂,但是!!程序太臃肿了有木有(有点像小学生写的),为了提升我们的逼格以彰显咱也是学过C的——数组、for循环、变量用起来!
int time = 100
int ledpins[] = {8,9,10,11,12};
int length = sizeof(ledpins) / sizeof(int);
void setup() {
for(int i=0;i
pinMode(ledpins[i],OUTPUT); //配置引脚为输出模式
}
}
void loop() {
for(int i=0;i
digitalWrite(ledpins[i],HIGH); //点亮
delay(time); //休眠100毫秒
digitalWrite(ledpins[i],LOW); //关闭
}
}