Menu
Coddy logo textTech

Stack ve Heap Bellek

Coddy'nin C Journey'sinin Logic & Flow bölümünün bir parçası — ders 31 / 63.

C programınız çalıştığında, iki farklı bellek bölgesi kullanır: stack ve heap. Bu bellek alanları arasındaki farkı anlamak, özellikle pointer'lar ve dinamik bellek tahsisi ile çalışırken etkili C programlama için kritik öneme sahiptir.

Yığın (stack), statik bellek ayırma için kullanılır. Yerel değişkenleriniz, fonksiyon parametreleriniz ve fonksiyon çağrısı bilgileriniz burada saklanır. Yığın, sistem tarafından otomatik olarak yönetilir; yerel bir değişken tanımladığınızda yığında bellek ayrılır ve değişken kapsam dışına çıktığında bu bellek otomatik olarak serbest bırakılır.

void function() {
    int x = 10;  // Yığın (stack) üzerinde ayrıldı
    char arr[100];  // Ayrıca yığın (stack) üzerinde ayrıldı
    // Fonksiyon sona erdiğinde bellek otomatik olarak serbest bırakılır
}

heap, dinamik bellek ayırma için kullanılır. Bu, program yürütme sırasında talep edebileceğiniz daha büyük bir bellek havuzudur.

Stack'in aksine, heap manuel yönetim gerektirir - belleği açıkça talep etmeli ve işiniz bittiğinde daha sonra serbest bırakmalısınız. Bu size daha fazla kontrol sağlar ancak aynı zamanda daha fazla sorumluluk yükler.

Temel fark yönetimdir: yığın (stack) belleği otomatiktir ve boyutu sınırlıdır, öbek (heap) belleği ise manueldir ve çok daha büyüktür. Gelecek derslerde, malloc() ve free() gibi fonksiyonları kullanarak öbek belleği ile nasıl çalışacağınızı öğreneceksiniz.

Kendin dene

Bu ders bir kod alıştırması içermiyor.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Logic & Flow bölümündeki tüm dersler