C Programlama Dili – Diziler

Program yazarken birden çok değişkene ihtiyaç duyarız. Örneğin yazacağımız programda 20 tane değişken kullanmamız gerekiyor. Şimdiye kadar öğrendiğimiz bilgilerle x1,x2,……,x20 gibi 20 tane değişken tanımlamamız gerekiyor. Bu yol elbette uygulanabilir ama çok zaman kaybettirir ve bir süre sonra işler çok karışır. İşte bu noktada devreye diziler girer. Dizideki;

  • tüm elemanları bellekte art arda saklanır.
  • elemanlar bellekte sürekli saklanır(program çalıştığı sürece)
  • tüm elemanlar aynı türden değişkenlerden oluşur
8.1)Dizilerin tanımlanması

veri_tipi dizi_adi[eleman_sayisi]

Örneğin 10 elemanlı bir tam sayılar kümesi oluşturmak istersek şöyle tanımlayabiliriz;

int yas[5];

8.2)Dizilere değer ataması yapılması

Bu noktada ilk bilmemiz gereken indis kavramıdır. Tipi ne olursa olsun dizilerimizin başlangıç indisi her zaman 0’dır.

Yukarıda tanımladığımız dizimiz üzerinden gidecek olursak;

yas[0]=12;

yas[1]=14;

yas[2]=20;

yas[3]=13;

yas[4]=15;

bu şekilde atama yapabiliriz. Ya da,

int yas[5]={12,14,20,13,15};

int yas[]={12,14,20,13,15};

bu şekilde de atama yapabiliriz.

8.3)Dizileri okuma ve yazdırma
8.4)Dizilerin fonksiyona gönderilmesi

Yukarıda yas ataması yaptığımız dizinin toplamını bulan bir fonksiyon yazalım. Aynı zamanda dizilerin nasıl fonksiyona gönderildiği hakkında da bilgi sahibi olalım.

Çıktı:

cikti_fonk

8.5)sizeof operatörü kullanımı

Bir dizinin bellekte kapladığı alanı veya dizinin boyutunu bu operatörü kullanarak öğrenebiliriz.

Çıktı:

cikti2

8.6)Çok boyutlu diziler

Şimdiye kadar gördüğümüz diziler tek boyulu ya da tek indisli dizilerdi. Bir dizi birden çok boyuta sahip olabilir örneğin aşağıdaki dizi iki boyutlu bir diziye örnek

int  ornek_dizi[3][3];

Bu iki boyutlu dizilere matris denir. İlk boyuta satır, ikinci boyuta ise sütun denir. Yukarıdaki matrisin eleman sayısı 9’dur.

Çok boyutlu dizilere de ilk değer ataması yapılabilir.

ornek_dizi[3][3]={5,6,9,  8,8,5 ,  6,1,2};

KategorilerC

Bir Cevap Yazın

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