Menu
CoddyTech

Memori Stack vs. Heap

Termasuk bagian Logika dan Alur dalam perjalanan C di Coddy. Pelajaran 31 dari 63.

Saat program C milikmu berjalan, program tersebut menggunakan dua area memori yang berbeda: stack dan heap. Memahami perbedaan antara area memori ini sangat penting untuk pemrograman C yang efektif, terutama saat bekerja dengan pointer dan alokasi memori dinamis.

stack digunakan untuk alokasi memori statis. Di sinilah variabel lokal, parameter fungsi, dan informasi pemanggilan fungsi disimpan. stack dikelola secara otomatis oleh sistem. Saat kamu mendeklarasikan variabel lokal, memori dialokasikan di stack, dan saat variabel tersebut berada di luar cakupan, memori itu otomatis dibebaskan.

void function() {
    int x = 10;  // Dialokasikan di stack
    char arr[100];  // Juga dialokasikan di stack
    // Memori otomatis dibebaskan saat fungsi selesai
}

heap digunakan untuk alokasi memori dinamis. Ini adalah kumpulan memori yang lebih besar dan dapat kamu minta selama program berjalan.

Tidak seperti stack, heap memerlukan pengelolaan manual, kamu harus meminta memori secara eksplisit lalu membebaskannya setelah selesai digunakan. Ini memberimu lebih banyak kendali, tetapi juga lebih banyak tanggung jawab.

Perbedaan utamanya adalah pengelolaannya: memori stack dikelola secara otomatis dan ukurannya terbatas, sedangkan memori heap dikelola secara manual dan ukurannya jauh lebih besar. Dalam pelajaran berikutnya, kamu akan belajar cara menggunakan memori heap dengan fungsi seperti malloc() dan free().

Coba sendiri

Pelajaran ini tidak memiliki tantangan kode.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C online