İçeriğe geç

Ay: Aralık 2016

C Programlama Bellek ve Adresleme-2

İşaretçiler ve Diziler

Diziler ve işaretçiler, C’de özel bir biçimde ilişkilidirler. Birbirleri yerine hemen hemen her yerde kullanılabilirler. Bir dizi ismi, sabit bir işaretçi olarak düşünülebilir. Bu yüzden, bir dizinin herhangi bir elemanına işaretçi ile de erişilebilir.

işaretçiler

Not: Dizilerde aslında birer işaretçidir. Bunun için doğrudan aynı tipteki bir işaretçiye atanabilirler.

Ayrıca, i bir tamsayı olmak üzere aşağıdaki iki ifade aynı anlamdadır.

  •  kutle[i];
  • *(p + i);

Bunun sebebi, p işaretçisi kutle dizisinin başlangıç adresini tutmuş olmasıdır. p+i işlemi ile i+1. elemanın adresi, ve *(p+i) ile de bu adresteki değer hesaplanır. *(p+i); —-> p nin gösterdiği adresten i blok ötedeki sayıyı hesapla

Örnek: *(p+3);

  • Bu deyimde 3, işaretçinin offsetidir.
  • İşaretçi, dizinin başlangıç adresini gösterirken, ve offset değeri dizi belirteciyle eştir. offset dizinin hangi elemanının kullanılacağını belirtir
  • Bu gösterime işaretçi/offset gösterimi denir.
  • Parantezler gereklidir çünkü * operatörünün önceliği + operatörünün önceliğinden yüksektir.
  • Parantezler olmadan yukarıdaki ifade, *p’ye 3 eklerdi. (yani, p’nin dizinin başlangıcını gösterdiği düşünülürse, kutle[0]’a 3 eklenirdi.)

Fonksiyon Parametresi Olan İşaretçiler:

C programlama dilinde fonksiyon parametreleri

  • Değer geçerek (pass by value)
  • Adres geçerek (pass by reference) olarak geçilebilirler.
Yorum Bırak

C Programlama Bellek ve Adresleme

İşaretçilere Giriş:

  • Bilgisayarın ana belleği (RAM) sıralı kaydetme gözlerinden oluşmuştur.
  • Her göze bir adres atanmıştır.
  • Bu adreslerin değerleri 0 ile belleğin sahip olduğu üst değere bağlı olarak değişebilir.
  • 1 GB bellek,

1024*1024*1024=1073741824 adet gözden oluşur.

 Bir programlama dilinde, belli bir tipte değişken tanımlanıp ve bir değer atandığında, o değişkene dört temel özellik eşlik eder:

  1. Değişkenin adı
  2. Değişkenin tipi
  3. Değişkenin sahip olduğu değer (içerik)
  4. Değişkenin bellekteki adresi

Değişken türlerinin bellekte kapladığı alanlar:

byt

Bellek adreslerinin nasıl olduğunu yapıldığını inceleyelim:

Yorum Bırak

C Programlama Yapılar ve Birlikler

(enum, struct, typedef)

Enum Deyimi:

  • Sayma tipi olarak adlandırılırlar.
  • Bu sayma sabitleri, değerleri otomatik olarak belirlenen sembolik sabitlerdir.
  • Enum içindeki değerler aksi belirtilmedikçe 0 ile başlayar ve 1 arttırılır.
  • Değişkenin alabileceği değerlerin sabit olduğu durumlarda programı daha okunabilir hala getirmek için kullanılır.

Mantıksal örnekler:

  • Cinsiyet: Kadın,Erkek
  • Evlilik_Durumu: Evli, Bekar
  • Egitim_Durumu: İlkokul , Lise, OnLisans, Lisans, LisansUstu

 Genel yazım biçimi:

   – enum tip_adı {deger1, deger2, …, degerN} degisen_adı;

Yazım biçimini gerçek örneklerle belirtecek olursak:

  – enum bolumler { programcilik, donanim, muhasebe, motor};

tanımı ile programcılık için 0 , donanim için 1, muhasebe için 2 ve motor için 3 değerini kabul ederek atamaları buna göre yapmış oluruz.

Eğer programcılık değerini 1 ‘e eşitlersek sayma işlemi 1 den başlanır. Bu durumda yeni değerlerimizi 1 artmış olarak ifade edebiliriz. Bununla ilgili basit bir örneğe “ C ÖRNEKLERİ ” ‘nden  göz atabilirsiniz.

Sturct ( Yapı ) Deyimi

  • Farklı veri türlerine ait değişkenlerin bir grup olarak ifade edilmesi için kullanılır. Bu gruplar kullanıcı tanımlı isim ile kullanılması amacıyla tercih edilen veri türüdür.
  • Yapılar diziler gibi bellekte sürekli kalır.
  • İçerisindeki elemanlara üye denir ve üyeler farklı veri tiplerine sahip olabilir.
  • Yapılar sayesinde kendi veri tipinizi üretmeniz mümkündür.
  • Farklı programlama dillerinde Record (kayıt) olarak da geçerler.
Yorum Bırak

C Programlama Fonksiyon Örneği

Merhaba arkadaşlar. Bu örneğimizde bir öğrenci notu parametre olarak alan bir fonksiyonumuz olacak ve bu fonksiyon girilen nota göre öğrencinin harf notunu döndürecek…

1.ana fonksiyonumuz olan main fonksiyonundan önce kendimiz oluşturacağı fonksiyonun prototipini yazıyoruz. İstersek bu kısımda istersek main fonksiyonundan sonra bu fonksiyonun yapacağı işlemleri belirtmemiz gerekiyor. örneğimizde fonksiyonun…

2 Yorum

C Programlama Fonksiyonlar

  • Fonksiyonlar karmaşık yapılı programların karmaşıklığını azaltmak ve bu programları modüler bir yapıya kavuşturmak için kullanılırlar.
  • Programcıların tekrarlanan kod yazmalarını önlerler.
  • Fonksiyon belirli bir adı olan program parçasıdır.
  • Fonksiyonların çalışabilmesi için bir başka fonksiyondan adı ile çağrılması gerekmektedir.

Bu zamana kadar programlarımızı çalıştırdığımızda otomatik olarak çalışan main() de bir fonksiyondur. Bu fonksiyonu biz çağırmayız veya başka bir fonksiyon içinden çağrılmasına gerek yoktur.

Bir main() fonksiyonu içinden bir başka fonksiyon çağrılabilir.

Oluşturduğumuz bir fonksiyon içerisinden farklı bir fonksiyon çağrılabilir.


Her fonksiyonun bir adı ve fonksiyona gelen değerleri gösteren parametreleri (bağımsız değişkenleri) vardır. Fonksiyonlarda bu parametreler alınarak çeşitli işlemlere tabi tutulur ve bir değer hesaplanır. Bu değer, çıktı veya geri dönüş değeri (return value) olarak adlandırılır. Bir fonksiyona kaç giriş olursa olsun sadece bir çıkışı vardır.

Örneğin toplama işlemi yapan Topla() adında bir fonksiyonumuz olsun. Bu fonksiyona int tipinde X ve Y parametreleri alındığında fonksiyondan çıkan değer X+Y olacaktır.

Bunu birde kod üzerinden gerçekleştirelim:

Yorum Bırak