玩轉Mixly – 7、Arduino AVR編程 之 數組

以下內容源自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開發問題:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章