İçeriğe geç

Etiket: bellek ve adresleme

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