C dinamik bellek yönetimi ve tahsisi

Vikipedi, özgür ansiklopedi

C dinamik bellek yönetimi ve tahsisi, C standart kütüphanesinde mevcut bulunan birtakım hazır metotları kullanarak, kullanılacak olan program için bellekte sanal bir alan oluşturulmasını sağlar. C programlama dilinde dinamik bellek tahsisi için malloc, realloc, calloc ve free metotları kullanılmaktadır.[1][2][3] malloc metodu kullanılarak bellekte bulunan kullanılmaya uygun bir alan, kullanıcı için tahsis edilir. Benzer şekilde calloc da bellekte kullanılmaya uygun bir hafıza alanını kullanıcının kullanımına açar fakat calloc hazırlanan bellek alanının içindeki verileri de sıfırlar (kullanılmak için hazırlanan bellek bölgesini NULL olarak doldurur). realloc metodu ise önceden calloc veya malloc kullanılarak oluşturulan bellek alanının büyüklüğünü dinamik zamanda (run-time'da) değiştirmek için kullanılır. free ise diğer dinamik bellek tahsisi metotları ile oluşturulan ve kullanılan bellek alanlarını temizlemek için kullanılır.

Her ne kadar C++ programlama dilinde de bu metotlar kullanılabilir olsa da, genelde bu metotlar C++ dilinde tercih edilmez. Çünkü C++ dilinde bu metotlar kullanılarak sadece bellek alanı oluşturulabilir fakat objeler, bellek alanında somutlaştırılamaz (instantiate olmazlar). Bundan dolayı new ve delete operatörlerinin kullanılması tavsiye edilir.[4]

Kaynakça[değiştir | kaynağı değiştir]

  1. ^ ISO/IEC 9899:1999 specification (PDF). 11 Ocak 2018 tarihinde kaynağından arşivlendi (PDF). Erişim tarihi: 16 Ekim 2020. 
  2. ^ Advanced C Programming. p. 6-28: Technical Publications. 2008. s. 400. ISBN 978-81-8431-496-0. 
  3. ^ "Chapter 11: Memory Allocation". C Programming Notes. 19 Şubat 1999 tarihinde kaynağından arşivlendi. Erişim tarihi: 11 Temmuz 2020. 
  4. ^ Programming: Principles and Practice Using C++. 1009, §27.4 Free store: Addison Wesley. 2008. s. 1236. ISBN 978-0-321-54372-1.