Diziler, aynı türdeki öğeleri bir arada tutmaya yarayan bir yapıdır. Örneğin siz 20 adet değişken tanımlarken int a=1;int b=2; int c=3;……. gibi teker teker değişkenleri tanımlamanız gerekir. Diziler ise sizi bu zahmetten kurtarıyor.

Örnek bir dizi tanımlayacak olursak int dizi[20]; burada int tipinde dizi isimli boyutu 20 olan bir dizi tanımladık. Bu bilgisayarımızın belleğinde 20 tane int için yer ayırdı.

Çok Önemli Not: Yukarıda tanımladığımız dizide 19. elemanı göstermek için dizi[18] kullanılır. Yani ekrana yazdırmak istediğiniz elemanın 1 eksiğini diziye girerek yazdırıyorsunuz. Bunun sebebi diziler 0’dan başlarlar.

Şimdi sıra geldi boyutu 20 olan diziyi doldurmaya. Bunun için döngü kullanımı gerekiyor.

#include <stdio.h>
#include <stdlib.h>
int main() {
int dizi[20]; // boyutu 20 olan dizi tanımladık.
int satir;
//Bu döngüde dizinin içerisini dolduruyoruz.
for(satir=0;satir<20;satir++){ //Satir 20'den küçük olduğu sürece döngü dönecek.
printf("%d.Degeri Girin:",satir);
scanf("%d",&dizi[satir]); // Örneğin; 0. satırdaysak 0. satıra girilecek değeri giriyoruz.

}//Bu döngüde dizideki elemanları ekrana yazdırıyoruz.
for(satir=0;satir<20;satir++){
printf("%d\n",dizi[satir]);
}
return 0;
}

döngüler yardımıyla diziyi doldurup yine döngüler yardımıyla dizi elemanlarını ekrana bastırabiliyorsunuz.

İki Boyutlu Diziler

Çok boyutlu dizilerin en basit biçimi iki boyutlu dizilerdir. int dizi[20][30]; şeklinde tanımlanır. Bu dizimiz 20 satır 30 sütunluk bir dizi. Şimdi bununla ilgili de bir örnek yapalım.

#include <stdio.h>
#include <stdlib.h>
int main() {
int dizi[5][10]; // çift boyutlu dizi.
int satir,sutun;
//Bu döngüde dizinin içerisini dolduruyoruz.
for(satir=0;satir<5;satir++){ //Satir 5'den küçük olduğu sürece döngü dönecek.
for(sutun=0;sutun<10;sutun++){
printf("%d.Satir %d.Sutun Degeri Girin:",satir,sutun);
scanf("%d",&dizi[satir][sutun]); // Örneğin; 0. satırdaysak 0.satır 0.sütuna girilecek değeri giriyoruz ardından 0.satır 1.sutun...

}
}
//Bu döngüde dizideki elemanları ekrana yazdırıyoruz.
for(satir=0;satir<5;satir++){
for(sutun=0;sutun<10;sutun++){
printf("%d",dizi[satir][sutun]); //Dizinin bulunduğu satır ve sütundaki değerini ekrana bastırır.

}
printf("\n");
}
return 0;
}