Temel C Programlama -29- Diziler -2-

Temel C programlamada diziler konumuza devam ediyoruz. Önceki yazımızda en temel dizi özelliklerinden size bahsetmiştik. Fakat diziler hem özellik bakımından hem kullanım alanı bakımından anlattığımız ile sınırlı değildir. Aslında işaretçiler ve yapılarda olduğu gibi dizileri de en basit haliyle kullanabildiğimiz gibi en karmaşık işlerde de kullanabiliriz. C, C++ gibi köklü programlama dillerinde hiçbir özelliğin giriş seviyesi veya basit olduğunu iddia edemeyiz. Bu özellikleri nasıl kullandığınız onun seviyesini belirlemektedir.

Dizileri anlatırken dizilere ilk değer atamayı size anlatmamıştık. İlk değeri atamak oldukça işlevsel bir özelliktir. Böylelikler satırlar boyu program yazmak zorunda kalmazsınız. Önceli programda dizi tanımlamasını ve dizi değişkenlerine ilk değeri atamayı şu şekilde yapmıştık.

int _1a_sinifi_ogrencileri[8];
_1a_sinifi_ogrencileri[0] = 254;
_1a_sinifi_ogrencileri[1] = 951;
_1a_sinifi_ogrencileri[2] = 253;
_1a_sinifi_ogrencileri[3] = 425;
_1a_sinifi_ogrencileri[4] = 12;
_1a_sinifi_ogrencileri[5] = 84;
_1a_sinifi_ogrencileri[6] = 365;
_1a_sinifi_ogrencileri[7] = 145;

Görüldüğü gibi oldukça kalabalık ve C’nin ruhuna uymayan yapıda bir program bloku değil mi? C dilini bu kadar övüyorsak C dili buna bir çözüm getirmek zorunda olması gerekir. Tahmin ettiğimiz gibi C dili buna bir çözüm getirmekte. Yukarıdaki kodun aynısını aşağıda şu şekilde yazabiliriz.

int _1a_sinifi_ogrencileri[8] = { 254, 951, 253, 425, 12, 84, 365, 145 };

Süslü parantez içinde sırayla atadığımız değerler sırayla dizi değişkenlerinin içerisine aktarılacaktır. Ayrıca ilk değer atama yöntemi ile bir dizi değişkeni tanımlıyorsak dizi boyutunu da yazmamıza gerek kalmayacaktır. Çünkü derleyici otomatik olarak biz kaç değeri içerisine yazdıysak dizi değişkenini o boyutta tanımlayacaktır. Yukarıda yazdığımızın aynısını şu şekilde de yazabiliriz.

int _1a_sinifi_ogrencileri[] = { 254, 951, 253, 425, 12, 84, 365, 145 };

Burada yazacağımız değerleri saymakla ve her yeni değer eklediğimizde bu boyutu artırmakla uğraşmadık. Artık derleyici otomatik olarak dizinin boyutunu hesaplıyor ve bizi bir yükten kurtarıyor. Eğer istersek yukarıdaki gibi bir tanımlama da yapabiliriz. Fakat böyle bir tanımlama daha kullanışlı olacaktır. Dizilere ilk değer atamayı şu şekilde özetleyebiliriz.

Değişken_Tipi Dizi_Adı [boyut(opsiyonel] {deger1, deger2, deger3 ...};

Şimdiye kadar yukarıda verdiğimiz sentaks yapısına benzer yapıları her zaman vermekteyiz. Bunu bir kağıda not alıp programlamada referans olarak kullanmanız çok önemlidir. Programlamada ciddi bir seviyeye gelene kadar sürekli bu sözdizimi referanslarına bakmanız gerekecektir. Hatta C dilinde çok ileri seviyeye gelmiş programcılar bile ellerinin altında referans kitaplarını bulundurmaktadır. En azından C dilinin tasarımcısı Dennis Ritchie’nin kitabını her C programcısı elinin altında bulundurmalıdır. Biz de ileri seviye konulara geldiğimizde bu kitaptan bahsedeceğiz. Şu an C dili hakkında yazılan bütün kitaplar o kitabı kaynak almaktadır.

Diziler üzerinde sıralama algoritmaları gibi işlemleri daha sonraya bırakalım ve çok boyutlu dizilere geçelim. Daha öncesinde dizilerin ne kadar işlevsel olduğunu anlatmıştık. Dizileri bu anlattığımızdan daha işlevsel yapmamız mümkündür. Bunun bir yolu da çok boyutlu dizilerdir. Örneğin Excel programında biz bir veri tabanı oluşturacağımız zaman iki boyutlu bir dizi kullanırız. Bu dizinin biri sütun verisini öteki ise satır verisini bulundurmaktadır. Hücre ise değeri içermektedir. Biz C dilinde de Excel tablosuna benzer bir dizi tanımlayabiliriz.

Last updated