Arduino masyvai
Masyvas yra iš eilės einanti to paties tipo atminties vietų grupė. Norėdami nurodyti konkrečią vietą ar elementą masyve, nurodome masyvo pavadinimą ir konkretaus elemento pozicijos numerį masyve.
Toliau pateiktoje iliustracijoje parodytas sveikųjų skaičių masyvas, vadinamas C, kuriame yra 11 elementų. Jūs nurodote bet kurį iš šių elementų, nurodydami masyvo pavadinimą, po kurio laužtiniuose skliaustuose [] nurodote konkretaus elemento padėties numerį. Pozicijos numeris formaliau vadinamas apatiniu indeksu arba indeksu (šis skaičius nurodo elementų skaičių nuo masyvo pradžios). Pirmasis elementas turi indeksą 0 (nulis) ir kartais vadinamas nuliniu elementu.
Taigi, masyvo C elementai yra C[0], C[1], C[2] ir pan. Didžiausias C masyvo indeksas yra 10, tai yra 1 mažiau nei elementų skaičius masyve (11). Masyvo pavadinimai atitinka tuos pačius susitarimus kaip ir kiti kintamųjų pavadinimai.
Pateiktame paveiksle turime masyvą C kurio reikšmės yra C[0] = -45, C[1] = 6, C[2] = 0, C[3] = 72 ir t.t.
Norint gauti šio masyvo elementų sudėties sumą, naudojame įprastą matematinę sudėties lygtį, nurodant masyvo pavadinimą ir konkrečių elemento pozicijų numerius masyve (indeksus).
Pavyzdys:
Serial.print (C[0] + C[1]);
Masyvo elemento dalyba aprašoma panašiai – pavyzdys:
z = C[7] / 2;
Masyvų deklaravimas
Masyvo deklaravimas ir ciklo naudojimas masyvo elementams inicijuoti
Žemiau pateiktame pavyzdyje deklaruojamas 10 elementų sveikųjų skaičių masyvą Z. Pirmajame for cikle masyve sukuriami 10 elementų (indeksai nuo 0 iki 9). Antrasis for ciklas į ekraną išveda reikšmes priklausančias masyvui.
int n[ 10 ] ; // n yra 10 skaitmenų masyvas
void setup () { }
void loop () {
for ( int i = 0; i < 10; ++i ) {
n[ i ] = 0; // priskiriama reikšmė 0
Serial.print (i) ;
Serial.print (‘\r’) ;
}
for ( int j = 0; j < 10; ++j ) { // išvedamos masyvo reikšmės
Serial.print (n[j]) ;
Serial.print (‘\r’) ;
}
}
Masyvo deklaravimas suteikiant reikšmes
Masyvo elementus taip pat galima inicijuoti masyvo deklaracijoje, po masyvo pavadinimo rašomas lygybės ženklas ir riestiniuose skliaustuose pateikiamas reikšmių sąrašas, atskiriant reikšmes kableliais. Programa naudoja iniciatorių sąrašą, kad inicijuotų sveikųjų skaičių masyvą su 10 reikšmių ir jį spausdina.
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 ){ // išvedamos masyvo reikšmės
Serial.print (n[j]) ;
Serial.print (‘\r’) ;
}
}