Menu
Coddy logo textTech

Stack ve Heap Bellek

Coddy'nin C Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 31 / 63.

C programınız çalıştığında, belleğin iki farklı bölgesini kullanır: yığın ve öbek. Bu bellek bölgeleri arasındaki farkı anlamak, özellikle işaretçiler ve dinamik bellek ayırma ile çalışırken etkili C programlaması için çok önemlidir.

Yığın, statik bellek ayırma için kullanılır. Yerel değişkenlerinizin, işlev parametrelerinizin ve işlev çağrısı bilgilerinizin depolandığı yer burasıdır. Yığın sistem tarafından otomatik olarak yönetilir - yerel bir değişken bildirdiğinizde bellek yığın üzerinde 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.

Yığının 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 da getirir.

Temel fark yönetimdir: yığın belleği otomatiktir ve boyutu sınırlıdır, öbek belleği ise manueldir ve çok daha büyüktür. Gelecek derslerde, malloc() ve free() gibi işlevleri kullanarak öbek belleğiyle 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.

Mantık & Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online C derleyicisi