ASD Alokasi Memori Dinamis

ASD
Alokasi Memori Dinamis

Alokasi Memori Dinamis
 Untuk menggunakan sebuah variabel, kita harus
mendeklarasikannya dulu
 Pada saat deklarasi, slot memori dipesan untuk
dipakai oleh variabel tersebut
 Setelah dideklarasikan, variabel bisa digunakan
 Ada cara untuk membuat variabel tanpa
deklarasi!!!
 Variabel tersebut baru dibuat saat dibutuhkan
ketika program berjalan!!!
 Setelah selesai digunakan, variabel tersebut
harus dihapus!!!

Fungsi-Fungsi Alokasi Memory

sizeof()

Latihan


Cara membuat variabel
tanpa deklarasi
1. Deklarasikan pointer yang menunjuk variabel
yang akan dibuat
2. Jika pada saat program berjalan variabel
tersebut dibutuhkan
 Pesan slot memori untuk menyimpan
variabel (malloc)
 Simpan alamat slot memori pada pointer no
1
 Gunakan variabel sesuai kebutuhan dengan
cara akses tak langsung melalui pointer
 Hapus variabel / lepas slot memori setelah
variabel selesai digunakan (free)

Karakteristik Alokasi Memori
Dinamis
 Memori dapat dipesan atau dilepas sesuai
kebutuhan pada saat program berjalan

 Memesan slot memori menggunakan fungsi
malloc
 Melepas slot memori menggunakan fungsi free

malloc:
memesan memori untuk variabel
baru
(tipedata *) malloc(size);
Membuat pointer yang
menunjuk slot memori
yang dipesan. Tipe pointer
sesuai tipe variabel yang
dibuat

malloc()prot
malloc()
otype ada di
stdlib.h

Banyaknya slot

memori yang
dipesan untuk
menyimpan
variabel baru
( gunakan fungsi
sizeof()untuk
sizeof()
mengetahui
ukuran variabel).

free:
menghapus variabel setelah
digunakan
void free(pMemBlock);
free() ada di
stdlib.h

Pointer yang
menunjuk
variabel


IMPORTANT!!!!!!:
IMPORTANT!!!!!!
• jangan free()pointer
yang tidak pernah di malloc()
free()
•Jangan free() pointer yang sudah difree
• Selalu free()variabel
yang sudah selesai digunakan.
free()
Jika tidak, akan menyebabkan: ‘memory leak’
leak – BAD!

Contoh tanpa malloc()
#include
#include
int main()
{
float jari, luas;
jari = 7;

luas = 3.14 * jari * jari;
cout