以下内容源自Mixly官方技术文档:

https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/06Lists.html

数组

数组是为了便于代码编写时所采用的一种数字块。具体包括:定义数组、取数组值、改数组值。

数组像一个大盒子,可以储存一定个数的数字(第一个指令)或字符串(第二个指令)。在课程中的音乐盒一课,我们就用到了数组。

如上图,tonelist, musiclist, highlist, rhythmlist分别储存了歌曲《两只老虎》的基本频率(即哆来咪等七音的对应频率),频率变化(即两只老虎的简谱数字),每个音的音名CDEFGAB以及每个音的时值(长短)。 《两只老虎》共有三十二个音,因此使用了一个从1到32的循环语句以此读取第一个音的频率变化(简谱,并通过.. image:: images/06Lists/array3.png语句可读取简谱的基本频率),随后与获取highlist里的对应音高并按thythmlist里的时值进行相应延时。 该代码将《两只老虎》的指令放到了一个名为playmusic的函数内,并通过执行 playmusic调用该函数。关于函数的内容,我们将在下面函数部分具体详解。

创建mylist数组1

1

int mylist[]={0, 0, 0};

描述

初始化一个数组。

参数

  • 数组类型: 选择创建的数组类型,包括整数、长整数、小数、字符、字节、char、字符串。

  • 数组名称:为创建的数组输入一个名字。

范例

创建一个CHINA字符串数组。

1

2

3

4

5

char CHINA[]={'C', 'H', 'I', 'N', 'A'};

void setup(){

}

void loop(){

}

创建mylist数组2

1

int mylist[3]={0,0,0};

描述

初始化一个数组。

参数

  • 数组类型: 选择创建的数组类型,包括整数、长整数、小数、字符、字节、char、字符串。

  • 数组名称:为创建的数组输入一个名字。

  • 数组长度:指定数组的长度。

获取数组mylist长度

1

sizeof(mylist)/sizeof(mylist[0]);

描述

获取数组的长度。

参数

  • 数组名称: 需要获取长度的数组名称。

范例

获取CHINA数组的长度。

1

2

3

4

5

6

7

8

int CHINA[]={'C', 'H', 'I', 'N', 'A'};

void setup(){

Serial.begin(9600);

}

void loop(){

Serial.println(sizeof(CHINA)/sizeof(CHINA[0]));

while(true);

}

获取数组mylist第N项

1

mylist[(int)(N - 1)];

描述

获取指定数组的第N项。

参数

  • 数组名称: 需要获取内容的数组名称。

  • 变量N: 需要获取数组的第N项。

范例

串口输出字符型数组元素。

数组mylist第N项赋值

1

mylist[(int)(N - 1)] = 0;

描述

为指定数组的第N项赋予特定的值。

参数

  • 数组名称: 需要获取内容的数组名称。

  • 变量N: 需要赋值数组的第N项。

  • 赋值内容: 需要替换的内容。

范例

串口输出字符型数组元素。

创建二维数组array

描述

初始化一个二维数组。

参数

  • 数组类型: 选择创建的数组类型,包括整数、长整数、小数、字符、字节、char、字符串。

  • 数组名称:为创建的数组输入一个名字。

  • 数组行数

  • 数组列数

  • 字符串:创建二维数组的来源。

给二维数组第M行N列赋值

描述

为数组第M行第N列赋值。

参数

  • 数组名称:为创建的数组输入一个名字。

  • 数组行数

  • 数组列数

  • 赋值:要赋予的值。

获取数组array第M行第N列

描述

获取数组array第M行第N列的内容。

参数

  • 数组名称:为创建的数组输入一个名字。

  • 数组行数

  • 数组列数

范例

串口输出二维数组元素。

微信关注图中张十三的博客公众号,与张十三一起探讨更多mixly开发问题:

玩转Mixly – 7、Arduino AVR编程 之 数组相关推荐

  1. 玩转Mixly – 10、Arduino AVR编程 之 传感器,执行器,通信,存储,factory

    以下内容源自Mixly官方技术文档: https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/10Sensor.html https://mixly ...

  2. 玩转Mixly – 9、Arduino AVR编程 之 函数

    以下内容源自Mixly官方技术文档: https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/08Functions.html 函数 在函数部分,主 ...

  3. 玩转Mixly – 8、Arduino AVR编程 之 变量

    以下内容源自Mixly官方技术文档: https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/07Variables.html 变量 依据变量类型可 ...

  4. 玩转Mixly – 6、Arduino AVR编程 之 文本

    以下内容源自Mixly官方技术文档: https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/05Text.html 文本 文本的具体内容为代码的文 ...

  5. 玩转Mixly – 5、Arduino AVR编程 之 逻辑

    以下内容源自Mixly官方技术文档: https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/04Logic.html 逻辑 逻辑模块中的指令大多是 ...

  6. 玩转Mixly – 3、Arduino AVR编程 之 控制

    以下内容源自Mixly官方技术文档: https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/02Control.html 控制 控制类别中包括了时 ...

  7. 玩转Mixly – 2、Arduino AVR编程 之 输入输出

    以下内容源自Mixly官方技术文档: https://mixly.readthedocs.io/zh_CN/latest/Arduino/AVR/01Input-Output.html 输入/输出 输 ...

  8. 使用Arduino ISP编程AVR微控制器和Arduino开发板

    所有微控制器都需要某种机制来对它们进行编程,即使它们只编程一次.通常,程序代码写在主机上,然后编译或翻译,并使用电缆(通常是USB或RS232)将对象(机器可读)代码从PC("主机" ...

  9. 探测距离机器人模型:通过超声波测距控制舵机转向,LED灯,语音播放,蜂鸣器(米思齐mixly,arduino)

    ** ------------探测距离机器人模型:通过超声波测距控制舵机转向,LED灯,语音播放,蜂鸣器(米思齐mixly,arduino) 一. 初始化设置 在初始化这里要先设置波特率.并且把初始超 ...

最新文章

  1. 3D中的OBJ文件格式详解(转载)
  2. 全卷积神经网路【U-net项目实战】Unet++
  3. 10个优秀的 Web UI 库/框架
  4. 下一代Mac mini将率先搭载苹果自研M2系列芯片
  5. 同一个IP段ping不通同事的电脑
  6. 专访McAfee“M双侠” 感受McAfee云安全自信
  7. Django-分页、中间件和请求的声明周期
  8. 阿里舆情︱舆情热词分析架构简述(Demo学习)
  9. 团队博客-第三周:需求改进系统设计(科利尔拉弗队)
  10. 软件开发中的EJB是什么?
  11. 硬盘文件系统系列之FAT
  12. 一种用于压力传感器的温度控制系统设计
  13. 从自走棋代码分析游戏机制--棋池、回蓝、目标判断、掉落概率与新英雄
  14. (算法)C语言得到两个升序序列的中位数
  15. html写出日出,有关描写日出的优美段落
  16. python招聘杭州拉勾网_Python爬取拉勾网招聘信息
  17. Java P1428 小鱼比可爱 洛谷入门题
  18. 微信里的网址链接域名如何自动跳转到外部浏览器访问源码
  19. MAC地址定位技术的大数据警用应用
  20. linux查看exif软件,EXIF信息查看器使用教程及功能解析

热门文章

  1. 洛谷 P3157 [CQOI2011]动态逆序对 | CDQ分治
  2. C#中WinForm程序退出方法技巧总结
  3. Javascript非构造函数的继承
  4. 拼接字符串 新增数据方法
  5. 0-100之间的素数、判断素数的基本和优化方法
  6. Struts2 - 在Action类中获得HttpServletResponse对象
  7. OpenGL程序演示
  8. Windows Internals 笔记——错误处理
  9. HDFS设置配额管理
  10. BZOJ1787: [Ahoi2008]Meet 紧急集合