Arduino

Arduino Diziler

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:

 

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.

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.

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.

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.

 

 

 

About the author

admin

Add Comment

Click here to post a comment

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.