Temel Arduino Eğitimi | Ders #11: Diziler ve Sizeof Operatörü

3 dk okuma süresi
5,994

Diziler ve Sizeof Komutu

 Diziler içlerinde birden fazla değer saklayabilen veri kümeleridir. Her bir değere ulaşmak için o değere özel indeks numarasını kullanırız. Örneğin:

int degerler[4] = {5, 3, 9, 6};

   Bu kodda değerler isminde, int veri tipinde ve içerisine en fazla 4 değer alabilecek bir dizi oluşturduk ve içerisine sırasıyla 5, 3, 9 ve 6 rakamlarını yerleştirdik. Bu değerleri elde etmek için her biri için farklı olan indeks numaralarını kullanacağız.

Mesela 3 rakamını bu dizi içerisinden almak istersek:

degerler[1];

 komutunu kullanmamız gerekir. Çünkü indeks numaraları sıfırdan başlar ve dizideki değer sayısı kadar birer birer artarak devam eder. Yani bu dizinin sıfırıncı indeksi 5, birinci indeksi 3, ikinci indeksi 9, üçüncü indeksi ise 6’dır.

Sizeof komutu bize herhangi bir değişkenin hafızada kapladığı alanı bayt cinsinden verir. Integer veri tipindeki bir değişken hafızada 2 baytlık bir alan kaplar. Değerler dizisinde 4 adet integer tipinde karakter olduğu için hafızada toplamda 8 baytlık alan kaplayacaktır. Daha fazla uzatmadan kodlarımıza geçelim.

 Kodlar:

İlk olarak degerler adında ve içerisinde 4 adet integer veri tipinde değişken saklayan bir dizi oluşturduk ve içerisine sırasıyla 5, 1, 9 ve 6 değerlerini yazdırdık. Daha sonra da dizi_uzunlugu ve sayac adında iki değişken oluşturduk.

Setup fonksiyonu içerisinde ilk olarak seri portu 9600 baud hızında başlattık. Daha sonra dizi_uzunlugu değişkenine degerler dizisinin bayt cinsinden uzunluğunun ikiye bölümünü yazdırdık. Bunun sebebi her bir integer veri tipinin hafızada 2 baytlık alan kaplaması. Biz ise bu alanı değil, dizide kaç adet eleman olduğunu bulmak istiyoruz. Normalde ikiye bölmeseydik dizi_uzunlugu değişkeninin değeri 8 olacaktı. Çünkü 4 adet 2 baytlık alan kaplayan veri var. Fakat ikiye böldüğümüzde bize degerler dizisinin uzunluğu olan 4 sayısını verdi.

Son olarak da elde ettiğimiz verileri bir for döngüsünün içine soktuk ve her bir değeri seri porta yazdırdık.

Çıktı:

Siz de degerler dizisinin içerisindeki verileri değiştirerek seri portta çıkan çıktıları gözlemleyebilirsiniz.

Kodlar:

Burada dizi_uzunlugu değişkenini değişmez bir ifade olarak ayarları ve içerisine 4 sayısını yazdırdık. Diziyi oluştururken de veri sayısı yerine dizi_uzunlugu değişkenini yani 4 sayısını yazdırdık. Artık bu dizi en fazla 4 farklı değer alabilecek hale geldi. Son olarak da dizi içerisindeki tüm değerleri seri porta yazdırdık.

Çıktı:

Diğer yazımda çok boyutlu dizileri ele alacağım. Görüşmek Üzere!

Daha Fazla İlgili Makale Yükleyin
Daha Fazla Yük Arduino

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Ayrıca Kontrol Edin

Temel Elektronik ve Arduino için PDF

Bu paylaşacağımız PDF bize ait olmayıp tamamen takipçilerimizin faydalanması için siteye e…