fbpx

Struktur Data : Alokasi Memori Dinamis – free()

Apabila bekerja dengan menggunakan memori yang dialokasikan secara dinamis, maka memori harus dibebaskan kembali setelah selesai digunakan untuk dikembalikan kepada sistem. Setelah suatu ruang memori dibebaskan, ruanng tersebut bisa dipakai lagi untuk alokasi variabel dinamis lainnya.


Contoh 1

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char *pblok;
  pblok = (char*)malloc(500 * sizeof(char));
  if (pblok == NULL)
    printf("Error on malloc');
  else
  {
    printf("OK, alokasi memori sudah dilakukan\n");
    printf("------\n");
    free(pblok);
    printf("Blok memori telah dibebaskan kembali\n");
  }
}

Contoh 2

#include <stdio.h>

int main()
{
  int *p;
  int a = 2;
  p = (int*)malloc(sizeof(int));
  *p = 4;
  *p += a;
  ...
  p = NULL
}

Menghapus sel yang ditunjuk p dengan p = NULL atau free(p). Pada saat variabel dinamik tidak digunakan lagi kita perlu membebaskannya. Kompiler tidak mendealokasi storage space secara otomatis.


Materi Lengkap

Silakan baca juga beberapa artikel menarik kami tentang Struktur dan Pointer, daftar lengkapnya adalah sebagai berikut.


Tonton juga video pilihan dari kami berikut ini

Bagikan ke teman-teman Anda

Contact Us

How to whitelist website on AdBlocker?

How to whitelist website on AdBlocker?

  1. 1 Click on the AdBlock Plus icon on the top right corner of your browser
  2. 2 Click on "Enabled on this site" from the AdBlock Plus option
  3. 3 Refresh the page and start browsing the site
error: Content is protected !!
Up