Emirhan Bülbül
Android Developer
C Programlama Ders 6: Diziler
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; }