- Katılım
- 22 Ağustos 2013
- Mesajlar
- 15.003
- Makaleler
- 35
- Çözümler
- 72
Bazı durumlarda basit değişkenler bir takım sorunların çözülmesi için yeterli olmazlar. Örneğin iki matrisin toplamını bulabilecek bir program basit değişkenler ile yazılamaz. Ya da bir dizi eğer üzerinde sıralama yapabilecek program, bir dizi sayı içerisinde istenilen değeri bulabilecek program yine basit değişkenler ile yazılamaz. Bu tip programlar için hatta bir çok benzeri program için dizi veya matris tanımları yapabilmek gerekmektedir.
Bir ad ve bir damga (index) ile aynı türden çok sayıda değişkeni tanımlamak için kullanılan bir yapı türüdür. Genel olarak bir dizinin bildiriminde sözdizimi şöyledir:
tür ad[n] = {değerler};
Diziler
• Tek Boyutlu Diziler
• Çok Boyutlu Diziler (Ör: Matrisler)
• Katar Dizileri
Dizilerin kullanılmasını gerektiren iki önemli özellikleri vardır :
• Bellekte ardışık olarak bulunmaları
• Elemanların aynı türden nesne olmaları
Program içerisinde aynı anda aynı tür bilgiden çok sayıda mevcut olması ve bu bilgiler üzerinde toplu işlem yapılması durumunda dizilerden yararlanılmaktadır.
• Diziler bileşik nesnelerdir. Yani bir dizinin tanımlanması ile birden fazla sayıda nesne birlikte tanımlanabilir.
• Örneğin 10 elemanlık bir dizi tanımlamak yerine, şüphesiz farklı isimde 10 ayrı nesne de tanımlanabilir. Ama 10 ayrı nesne tanımlandığında bu nesnelerin bellekte ardışık olarak yerleşmeleri garanti altına alınmış bir özellik değildir.
• Dizi tanımlamasıyla, dizinin elemanı olan bütün nesnelerin bellekte ardışık olarak yer almaları garanti altına alınmış demektir.
Bir grup sayısal değer ya da karakter veriyi içeren diziler tek boyutlu diziler olarak tanımlanır.
Tek boyutlu diziler, tür dizi_adı [boyut], biçiminde tanımlanır.
tür Dizinin içerdiği değerlerin veri türü. Aynen değişken türlerinin tanımlandığı biçimde kullanılır.
dizi_adı Dizinin mutlaka bir adı olmalıdır. Program içinde dizinin tüm elemanları bu ortak isim ile temsil edilir.
boyut Dizinin elemanları için bellekte ayrılacak yeri belirler. Ayrılan yerin tümüyle dolması gerekmez. Örneğin 10 elemanlık bir boyuta sahip dizinin 3 elemanı olabilir.
• Dizi içerisindeki her bir elemana, dizi isminden sonra, yazılan pozisyon numarası; yani indis değeri ile ulaşılır.
• İndis, bir dizinin her bir elemanına sırayla verilen bir numaradır.
• İndis değerleri mutlaka tamsayı olmalıdırlar.
• İndisler, sıfırdan başlayarak oluşturulurlar.
• Buna göre dizinin birinci elemanının indisi 0’dır. İkinci elemanının indisi ise 1’dir.
Burada tür derleyicide hazır olan temel veri türlerinden birisi olabileceği gibi, programcının yarattığı bir yapı türü de olabilir. Ad yerine istenen herhangi bir ad verilebilir; C derleyicisinin ad için koyduğu kısıtlamalar dışında bir kısıtlama yoktur. Dizi bildiriminde [ ] içindeki n bir tamsayıdır ve dizi dizininde kaç öğe var olacağını belirtir. 0 dan başlayarak n-1 sayısına dek giden bu sayılara dizinin indisleri denilmektedir.
Örnek olarak int a[5]; ifadesi 5 adet tamsayı değer içeren a ismindeki tamsayı dizisini tanımlama ifadesidir. Dizilerin içerdiği değerlere – elemanlara – yine köşeli parantezlerle erişiriz. Köşeli parantezler içerisinde verdiğimiz sayı indistir. İlk eleman saymaya sıfırdan başladığımız için a[0], ikinci eleman a[1] ve son eleman boyuttan bir eksik indis değerine sahip a[4]'tür. Eğer dizinin öğelerine değerler atanacaksa, bu değerler indis sırasına göre { } içine yazılır.
Kaynaklar : Metu, Firat, Bilkent ders notları
Bir ad ve bir damga (index) ile aynı türden çok sayıda değişkeni tanımlamak için kullanılan bir yapı türüdür. Genel olarak bir dizinin bildiriminde sözdizimi şöyledir:
tür ad[n] = {değerler};
Diziler
• Tek Boyutlu Diziler
• Çok Boyutlu Diziler (Ör: Matrisler)
• Katar Dizileri
Dizilerin kullanılmasını gerektiren iki önemli özellikleri vardır :
• Bellekte ardışık olarak bulunmaları
• Elemanların aynı türden nesne olmaları
Program içerisinde aynı anda aynı tür bilgiden çok sayıda mevcut olması ve bu bilgiler üzerinde toplu işlem yapılması durumunda dizilerden yararlanılmaktadır.
• Diziler bileşik nesnelerdir. Yani bir dizinin tanımlanması ile birden fazla sayıda nesne birlikte tanımlanabilir.
• Örneğin 10 elemanlık bir dizi tanımlamak yerine, şüphesiz farklı isimde 10 ayrı nesne de tanımlanabilir. Ama 10 ayrı nesne tanımlandığında bu nesnelerin bellekte ardışık olarak yerleşmeleri garanti altına alınmış bir özellik değildir.
• Dizi tanımlamasıyla, dizinin elemanı olan bütün nesnelerin bellekte ardışık olarak yer almaları garanti altına alınmış demektir.
Bir grup sayısal değer ya da karakter veriyi içeren diziler tek boyutlu diziler olarak tanımlanır.
Tek boyutlu diziler, tür dizi_adı [boyut], biçiminde tanımlanır.
tür Dizinin içerdiği değerlerin veri türü. Aynen değişken türlerinin tanımlandığı biçimde kullanılır.
dizi_adı Dizinin mutlaka bir adı olmalıdır. Program içinde dizinin tüm elemanları bu ortak isim ile temsil edilir.
boyut Dizinin elemanları için bellekte ayrılacak yeri belirler. Ayrılan yerin tümüyle dolması gerekmez. Örneğin 10 elemanlık bir boyuta sahip dizinin 3 elemanı olabilir.
• Dizi içerisindeki her bir elemana, dizi isminden sonra, yazılan pozisyon numarası; yani indis değeri ile ulaşılır.
• İndis, bir dizinin her bir elemanına sırayla verilen bir numaradır.
• İndis değerleri mutlaka tamsayı olmalıdırlar.
• İndisler, sıfırdan başlayarak oluşturulurlar.
• Buna göre dizinin birinci elemanının indisi 0’dır. İkinci elemanının indisi ise 1’dir.
Burada tür derleyicide hazır olan temel veri türlerinden birisi olabileceği gibi, programcının yarattığı bir yapı türü de olabilir. Ad yerine istenen herhangi bir ad verilebilir; C derleyicisinin ad için koyduğu kısıtlamalar dışında bir kısıtlama yoktur. Dizi bildiriminde [ ] içindeki n bir tamsayıdır ve dizi dizininde kaç öğe var olacağını belirtir. 0 dan başlayarak n-1 sayısına dek giden bu sayılara dizinin indisleri denilmektedir.
Örnek olarak int a[5]; ifadesi 5 adet tamsayı değer içeren a ismindeki tamsayı dizisini tanımlama ifadesidir. Dizilerin içerdiği değerlere – elemanlara – yine köşeli parantezlerle erişiriz. Köşeli parantezler içerisinde verdiğimiz sayı indistir. İlk eleman saymaya sıfırdan başladığımız için a[0], ikinci eleman a[1] ve son eleman boyuttan bir eksik indis değerine sahip a[4]'tür. Eğer dizinin öğelerine değerler atanacaksa, bu değerler indis sırasına göre { } içine yazılır.
Kaynaklar : Metu, Firat, Bilkent ders notları