Modul ini membahas pengelolaan memori dinamis pada heap, dimulai dari perbedaannya dengan memori stack, keluarga fungsi malloc, hingga pola alokasi array dan struct yang ukurannya baru diketahui saat program berjalan. Pembahasan mencakup kebocoran memori, double-free, dan use-after-free beserta kebiasaan yang mencegahnya, lalu ditutup dengan pemeriksaan program menggunakan Valgrind. Kemampuan modul ini menjadi fondasi langsung untuk struktur data, karena hampir seluruh strukturnya dibangun di atas memori dinamis.
Memori Dinamis
Alokasi memori pada heap: keluarga malloc, kebocoran memori, array dan struct dinamis, serta pemeriksaan dengan Valgrind.
0/0 selesai
- Stack versus Heap
Perbedaan masa hidup memori stack dan heap serta alasan heap diperlukan.
- malloc, calloc, realloc, dan free
Pola alokasi pada heap, pemeriksaan NULL, aturan kepemilikan, dan pembebasan memori.
- Kebocoran Memori dan Pointer Dangling
Skenario kebocoran memori, double-free, dan use-after-free beserta cara mencegahnya.
- Array dan Matriks Dinamis
Pengubahan ukuran array saat runtime dan alokasi matriks int ** beserta pembebasannya.
- Struct Dinamis
Mengalokasikan struct pada heap dan struct yang mereferensikan dirinya sendiri.
- Debugging Memori dengan Valgrind
Menjalankan valgrind dan membaca laporan kebocoran yang dihasilkannya.