Bir dizi, aynı türden bir ardışık bellek grubudur. Dizideki belirli bir konum veya öğeye başvurmak için, dizinin adını ve dizideki belirli öğenin konum numarasını belirtiriz.
Aşağıda verilen sketch, 11 eleman içeren C adlı bir tamsayı dizisini göstermektedir. Bu öğelerin herhangi birine, dizi adını ve ardından belirli öğenin konum numarasını köşeli parantez içinde ([]) vererek belirtirsiniz. Konum numarası index veya dizin olarak adlandırılır (bu sayı dizinin başlangıcındaki öğelerin sayısını belirtir). İlk elemanın indexi 0 (sıfır) olarak adlandırılır.
Böylece, C dizisinin elemanları C [0], C [1], C [2] gibi benzer şekilde sıralanır. C dizisindeki en son index ise dizinin eleman sayısının bir azdır. C dizisinde toplam 10 eleman olduğu için son index C[9] olarak adlandırılır.
Örnek:
1 2 3 4 5 6 7 8 9 10 11 12 | C[0]=10; C[1]=20; C[2]=42; C[3]=-56; C[4]=32; C[5]=63; C[6]=5; C[7]=1; C[8]=11; C[9]=5; |
Arduino Dizi Tanımlama
Diziler bellekte tanımlandıkları boyut ve veri türlerinin çarpımı kadar yer kaplarlar. Dizi tanımlarken kaç elaman olacağını ve hangi türde olacağını belirtmemiz gerekir. Dizinin oluşturulması aşamasında da diziye C dilindeki gibi değer aktarmak mümkündür.
1 2 3 | tipi diziadi[elemansayisi]; |
Derleyici belirtilen tipte uygun miktarda bellek ayırır. elemansayisi, sıfırdan büyük bir tamsayı sabiti olmalıdır. Örneğin, derleyiciye tam sayı dizisi C için 11 öğe ayırmasını bildirelim.
1 2 3 | int C[11]; |
Arduino Dizi Kullanımı
Dizi tanımlaması yapıldıktan sonra dizilerden okuma yada dizideki belirtilen indexe yazma yapılabilir.
Değer okuma ve yazma ile ilgili aşağıdaki örneği inceleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | int n[10] = { 32, 27, 64, 18, 95, 14, 90, 70, 60, 37 }; //dizi tanımlama void setup () { Serial.begin(9600); n[5]=100; //dizinin 6. elemanını değiştirme n[0]=120; //dizinin 1. elemanını değiştirme } void loop () { for ( int i = 0; i < 10; i++ ) { //döngü ile dizideki değerleri port ekleranına yazdırma Serial.print (n[i]) ; Serial.print (' ') ; } Serial.print ('\n') ; } |
Fonksiyonların üzerinde n dizisini 10 elemanlı olarak oluşturduktan sonra setup içinde dizinin index numrası 5 ve 0 olan elemanlarını sırasyıla 100 ve 120 olarak değiştirdik. loop fonksiyonu içinde ise dizinin elemalarını for döngüsü kullanarak yazdırdık. Serial.print metodu seri port ekranında yazdıklarımızın görünmesi için kullanılan bir fonksiyondur.
Add Comment