Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 2

..

..
.. Pemrograman Berorientasi Objek menggunakan C++ oleh Teguh Wiharko, ST

..
.
Modul 11 Dynamic Memory
Operator new and new[ ]:
Operator new digunakan untuk membuat variable memori dinamis.
Struktur:
pointer = new type
atau
pointer = new type [elements]

Contoh penggunaan:
int * bobby;
bobby = new int [5];
Grafik:

contoh deklarasi memori dinamis menggunakan operator new:


int * bobby;
bobby = new int [5];
if (bobby == NULL) {
// statement
};

Operator delete:
Operator delete digunakan untuk membebaskan memori dinamis yang telah dibuat.
Struktur:
delete pointer;
atau
delete [] pointer;

// contoh new dan delete I Jumlah angka yang


#include <iostream.h> diinput? 5
#include <stdlib.h> input angka : 75
input angka : 436
int main () input angka : 1067
{ input angka : 8
char input [100]; input angka : 32
int i,n; angka yang telah diinput
long * l; : 75, 436, 1067, 8, 32,
cout << "Jumlah angka yang diinput ? ";
cin.getline (input,100); i=atoi (input);
l= new long[i];
if (l == NULL) exit (1);
for (n=0; n<i; n++)
{
cout << "input angka: ";
cin.getline (input,100); l[n]=atol
(input);
}
............................
cout << "angka yang telah diinput: ";
for (n=0; n<i; n++)
cout << l[n] << ", ";
delete[] l;
return 0;
}
Prog101.cpp

Operator malloc:
Operator Malloc digunakan untuk membuat memori dinamis bertipe pointer.
Struktur :
void * malloc (size_t nbytes);
Contoh:
char * ronny;
ronny = (char *) malloc (10);
int * bobby;
bobby = (int *) malloc (5 * sizeof(int));

Operator calloc:
Operator Calloc berfungsi sama dengan Malloc tetapi mempunyai prototype yang
berbeda.
Struktur:
void * calloc (size_t nelements, size_t size);
Contoh:
int * bobby;
bobby = (int *) calloc (5, sizeof(int));

Operator realloc:
Operator Realloc digunakan untuk merubah besar memori dinamis yang telah dibuat
pada suatu pointer.
Struktur :
void * realloc (void * pointer, size_t size);

Operator free:
Operator free digunakan untuk membebaskan memori dinamis yang sebelumnya telah
dibuat menggunakan fungis malloc, calloc dan realloc.
Struktur:
void free (void * pointer);

Latihan:
1. Jelaskan perbedaan antara Malloc, Calloc dan realloc!
2. jelaskan input, proses dan output dari prog101.cpp di atas!
3. modifikasi prog101.cpp menggunakan fungsi malloc, calloc dan realloc serta
fungsi free!

You might also like