C MemoryLesson 43Preview gratis
C Memory Management
Lesson ini bagian dari C · Semua level
Ringkasan
C memberi kendali penuh atas memori: variabel lokal hidup di stack, sedangkan data besar dialokasikan di heap lewat malloc, calloc, realloc, dan wajib dikembalikan dengan free. Penyebab bug klasik di C adalah memory leak karena lupa free dan use-after-free karena memakai memori yang sudah dilepas. Praktik yang baik adalah memeriksa hasil alokasi terhadap NULL, memasangkan setiap alokasi dengan free, dan mengatur pointer menjadi NULL setelah dilepas.
Poin kunci
- malloc(n) mengalokasikan n byte kosong; calloc(n, size) mengalokasikan sekaligus mengeset nol; realloc mengubah ukuran.
- Selalu periksa hasil alokasi terhadap NULL sebelum memakai pointer tersebut.
- free hanya untuk pointer hasil malloc, calloc, atau realloc, bukan alamat sembarang atau alamat variabel lokal.
- Memory leak terjadi ketika pointer ke alokasi hilang tanpa di-free; dangling pointer adalah pointer yang menunjuk memori sudah bebas.
- Data di heap hidup sampai dilepas dengan free, berbeda dengan variabel lokal yang hilang saat fungsi selesai.
Materi lengkap
Contoh kode dan kuis
Materi lengkap, contoh kode, dan kuis tersedia untuk pelanggan. 5 soal.