📓
Temel C Programlama
  • Temel C Programlama Dersleri -1- Giriş
  • Temel C Programlama -2- Bilgisayar Mimarisi Temelleri
  • Temel C Programlama -3- Bilgisayar Yazılımı Temelleri
  • Temel C Programlama -4- Programlama Dilleri
  • Temel C Programlama -5- Makine Dili, Assembly Dili ve Yüksek Seviye Diller
  • Temel C Programlama -6- C Diline Giriş
  • Temel C Programlama -7- C Geliştirme Aşamaları ve Derleyici Kurulumu
  • Temel C Programlama -8- İlk Program
  • Temel C Programlama -9- Basit Program Örnekleri – 1
  • Temel C Programlama -10- Basit Program Örnekleri – 2
  • Temel C Programlama -11- Aritmetik Operatörler
  • Temel C Programlama -12- C Veri ve Değişken Tipleri
  • Temel C Programlama -13- C Veri ve Değişken Tipleri – 2
  • Temel C Programlama -14- Döngülere Giriş
  • Temel C Programlama -15- İlişki Operatörleri
  • Temel C Programlama -16- For Döngüsü
  • Temel C Programlama -17- While Döngüsü
  • Temel C Programlama -18- do while Döngüsü
  • Temel C Programlama -19- Kararlar ve If Karar Yapısı
  • Temel C Programlama -20- Else ve Else If Yapıları
  • Temel C Programlama -21- Switch Karar Yapısı, break ve continue
  • Temel C Programlama -22- Mantık Operatörleri, Birleşik Operatörler ve Operatör Önceliği
  • Temel C Programlama -23- Fonksiyonlara Giriş
  • Temel C Programlama -24- Basit Fonksiyonlar
  • Temel C Programlama -25- Değer Alan Fonksiyonlar, Sabitler, Önek ve Sonekler
  • Temel C Programlama -26- Fonksiyondan Değer Döndürmek
  • Temel C Programlama -27- Diğer Fonksiyon Konuları ve Recursive Fonksiyonlar
  • Temel C Programlama -28- Diziler
  • Temel C Programlama -29- Diziler -2-
  • Temel C Programlama -30- İşaretçilere Giriş
  • Temel C Programlama -31- İşaretçiler
  • Temel C Programlama -32- Çift İşaretçiler
  • Temel C Programlama -33- İşaretçileri Referans Olarak Aktarmak
  • Temel C Programlama -34- İşaretçi Aritmetiği
  • Temel C Programlama -35- İşaretçiler ve Diziler
  • Temel C Programlama -36- İşaretçi ve Değer Sabitleri
  • Temel C Programlama -37- Fonksiyon İşaretçileri
  • Temel C Programlama -38- Karakterler ve Karakter Dizilerine Giriş
  • Temel C Programlama -39- Karakter Dizileri (String)
  • Temel C Programlama -40- ctype.h Başlık Dosyası ile Karakter İşlemleri
  • Temel C Programlama -41- string.h Başlık Dosyası ile Karakter Dizisi İşlemleri
  • Temel C Programlama -42- stdlib.h ve stdio.h Başlık Dosyaları ile Karakter Dizisi İşlemleri
  • Temel C Programlama -43- Formatlı Giriş ve Çıkış
  • Temel C Programlama -44- Yapılar
  • Temel C Programlama -45- Yapı Uygulamaları ,typedef ve union (birlikler)
  • Temel C Programlama -46- Bit Manipülasyonu ve Bitwise Operatörleri
  • Temel C Programlama -47- Bit Bazlı Uygulamalar (Set, Reset, Toggle)
  • Temel C Programlama -48- Bit Alanları ve Enümeratörler
  • Temel C Programlama -49- Dosya İşlemleri ve fopen() fonksiyonu
  • Temel C Programlama -50- fprintf() ve fclose() ile En Basit Dosya Uygulaması
  • Temel C Programlama -51- Dosya İşaretçisi ve feof() Fonksiyonu
  • Temel C Programlama -52- Dosya Uygulamaları
  • Temel C Programlama -53- Ön İşlemci Komutları (Preprocessor)
  • Temel C Programlama -54- Sonsöz
Powered by GitBook
On this page

Was this helpful?

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.

PreviousTemel C Programlama -28- DizilerNextTemel C Programlama -30- İşaretçilere Giriş

Last updated 5 years ago

Was this helpful?