- Arduino - 教程
- Arduino - 概述
- Arduino - Board Description
- Arduino - 安装
- Arduino - 程序结构
- Arduino - 数据类型
- Arduino - Variables & 常量
- Arduino - 运算符
- Arduino - 控制声明( Control Statements)
- Arduino - 循环
- Arduino - 功能( Functions)
- Arduino - 字符串( Strings)
- Arduino - String对象( String Object)
- Arduino - Time
- Arduino - 阵列( Arrays)
- Arduino - I/O Functions
- Arduino - Advanced I/O Function
- Arduino - 字符函数( Character Functions)
- Arduino - 数学图书馆( Math Library)
- Arduino - 三角函数( Trigonometric Functions)
- Arduino - Due & Zero
- Arduino - 脉冲宽度调制( Pulse Width Modulation)
- Arduino - 随机数( Random Numbers)
- Arduino - 中断( Interrupts)
- Arduino - 沟通( Communication)
- Arduino - 内部集成电路( Inter Integrated Circuit)
- Arduino - 串行外设接口( Serial Peripheral Interface)
- Arduino - 闪烁LED( Blinking LED)
- Arduino - 褪色LED( Fading LED)
- Arduino - 读取模拟电压( Reading Analog Voltage)
- Arduino - LED条形图( LED Bar Graph)
- Arduino - 键盘注销( Keyboard Logout)
- Arduino - 键盘消息( Keyboard Message)
- Arduino - 鼠标按钮控制( Mouse Button Control)
- Arduino - 键盘串口( Keyboard Serial)
- Arduino - 湿度传感器( Humidity Sensor)
- Arduino - 温度传感器( Temperature Sensor)
- Arduino - Water Detector / Sensor
- Arduino - PIR传感器( PIR Sensor)
- Arduino - 超声波传感器( Ultrasonic Sensor)
- Arduino - 连接开关( Connecting Switch)
- Arduino - 直流电机( DC Motor)
- Arduino - 伺服电机( Servo Motor)
- Arduino - 步进电机( Stepper Motor)
- Arduino - 音调库( Tone Library)
- Arduino - 无线通信( Wireless Communication)
- Arduino - 网络通信( Network Communication)
- Arduino - 有用的资源
- Arduino - 讨论
- Show Example 1
- Show Example 2
- Show Example 3
- Show Example 4
- Show Example 5
- If statement
- If …else statement
- If…else if …else statement
- switch case statement
- Conditional Operator ? :
- while循环
- do…while循环
- for循环
- Nested循环
- Infinite循环
- delay () function
- delayMicroseconds () function
- millis () function
- micros () function
- 将数组传递给函数(Passing Arrays to Functions)
- 多维数组(Multi-Dimensional Arrays)
Arduino - 阵列( Arrays)
数组是具有相同类型的连续内存位置组。 要引用数组中的特定位置或元素,我们指定数组的名称和数组中特定元素的位置编号。
下面给出的插图显示了一个名为C的整数数组,其中包含11个元素。 您可以通过在方括号([])中给出数组名称后跟特定元素的位置编号来引用这些元素中的任何一个。 位置编号更正式地称为下标或索引(此数字指定从数组开头的元素数)。 第一个元素有下标0(零),有时称为零元素。
因此,数组C的元素是C [0](发音为“C sub zero”),C [1],C [2]等。 数组C中的最高下标是10,比数组(11)中的元素数少1。 数组名称遵循与其他变量名称相同的约定。
下标必须是整数或整数表达式(使用任何整数类型)。 如果程序使用表达式作为下标,则程序将计算表达式以确定下标。 例如,如果我们假设变量a等于5并且变量b等于6,则该语句将2添加到数组元素C [11]。
下标数组名称是左值,它可以在赋值的左侧使用,就像非数组变量名一样。
让我们更仔细地检查给定图中的数组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;
声明数组 (Declaring Arrays)
数组在内存中占用空间。 要指定元素的类型和数组所需的元素数,请使用表单的声明 -
type arrayName [ arraySize ] ;
编译器保留适当的内存量。 (回想一下,保留内存的声明更准确地称为定义)。 arraySize必须是大于零的整数常量。 例如,要告诉编译器为整数数组C保留11个元素,请使用声明 -
int C[ 12 ]; // C is an array of 12 integers
可以声明数组包含任何非引用数据类型的值。 例如,类型字符串数组可用于存储字符串。
示例使用数组
本节提供了许多演示如何声明,初始化和操作数组的示例。
示例1:声明一个数组并使用循环初始化数组的元素
该程序声明了一个10元素的整数数组n 。 a-b行使用For语句将数组元素初始化为零。 与其他自动变量一样,自动数组不会隐式初始化为零。 第一个输出语句(第c行)显示在后续for语句中打印的列的列标题(第d-e行),它以表格格式打印数组。
Example
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’) ;
}
}
Result - 它将产生以下结果 -
None
元件 | 值 |
---|---|
0 1 2 3 4 5 6 7 8 9 | 0 0 0 0 0 0 0 0 0 0 |
示例2:使用初始化列表初始化声明中的数组
数组的元素也可以在数组声明中初始化,方法是在数组名称后面加上等号和大括号分隔的逗号分隔的初始化列表。 该程序使用初始化列表初始化具有10个值的整数数组(行a),并以表格格式(行b-c)打印该数组。
Example
// 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 ) {
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’) ;
}
}
Result - 它将产生以下结果 -
None
元件 | 值 |
---|---|
0 1 2 3 4 5 6 7 8 9 | 32 27 64 18 95 14 90 70 60 37 |
示例3:对数组元素求和
通常,数组的元素表示要在计算中使用的一系列值。 例如,如果数组的元素代表考试成绩,教授可能希望总计数组的元素并使用该总和来计算考试的课程平均值。 程序对10元素整数数组a包含的值求和。
Example
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) ;
}
Result - 它将产生以下结果 -
Total of array elements: 849
数组对Arduino很重要,需要更多关注。 Arduino应该清楚以下与数组相关的重要概念 -
S.NO. | 概念与描述 |
---|---|
1 | 将数组传递给函数 要将数组参数传递给函数,请指定不带任何括号的数组名称。 |
2 | 多维数组 具有两个维度(即,下标)的数组通常表示由以行和列排列的信息组成的值表。 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论