Lompat ke konten Lompat ke sidebar Lompat ke footer

Dealokasi Memori Bahasa C Tanpa Menggunakan free()

Pada pemrograman bahasa C terdapat cara lain untuk melakukan dealokasi memori tanpa perlu menggunakan fungsi "free()".

Dealokasi Memori Bahasa C Tanpa Menggunakan free()
Dealokasi Memori Bahasa C

Sebelum memahami lebih dalam materi tentang Dealokasi Memori Bahasa C Tanpa Menggunakan free(), terlebih dahulu pelajari materi tentang: Layout Memori Bahasa C dan Penjelasannya [klik], Pengurutan Struct Bahasa C Beserta Contoh Programnya [klik], dan Compound Literals Bahasa C Beserta Penjelasannya [klik].

Pada bahasa C, standar library fungsi realloc() dapat digunakan untuk dealokasi dari alokasi memori sebelumnya, yang dideklarasikan dari "stdlib.h".

void *realloc(void *ptr, size_t size);

Jika nilai "size" adalah nol, maka pemanggilan ke realloc adalah senilai dengan pemanggilan "free(ptr)". Dan jika "ptr" adalah bernilai NULL dan nilai size adalah bukan nol, maka pemanggilan realloc adalah senilai dengan "malloc(size)".

Baca Juga:

Contoh: Periksa contoh program berikut.

/* Kode program bahasa C

 dengan kebocoran memori. */

#include <stdio.h>

#include <stdlib.h>


int main(void)

{

int *ptr = (int*)malloc(10);

return 0;

}


Setelah dilakukan pemeriksaan ringkasan kebocoran dengan alat valgrind. Ini menunjukkan kebocoran memori sebesar 10 byte, yang ditandai dengan warna merah.

Untuk mengatasi hal tersebut, maka dapat dilakukan modifikasi kode program sebagai berikut.

Contoh:

#include <stdio.h>

#include <stdlib.h>


int main(void)

{

int *ptr = (int*) malloc(10);

/* Dilakukan pemanggilan

 realloc dengan size = 0 */

realloc(ptr, 0);

return 0;

}


Setelah dilakukan pemeriksaan menggunakan valgrind, maka diperlihatkan bahwa tidak terdapat kebocoran memori yang ditandai dengan warna merah.


Artikel ini telah dilihat oleh: Galang Prayoga, Gerald Hugo Christano, Gladys Sanditya, Gustina Aruming Sekar Lati, dan Hafizh Daffa Setiawan.

5 komentar untuk "Dealokasi Memori Bahasa C Tanpa Menggunakan free()"

  1. Apa yang dimaksud dengan dealokasi memori pada Bahasa C?

    BalasHapus
    Balasan
    1. Dealokasi memori merupakan cara untuk membebaskan memori akses acak atau RAM dari proses yang telah selesai dilakukan dan untuk mengalokasikan nilai memori yang baru.

      Hapus
  2. Bagaimana fungsi dealokasi memori bahasa C?

    BalasHapus
    Balasan
    1. Fungsi dealokasi memori adalah untuk membatalkan alokasi memori pada bahasa C dan mengembalikannya ke heap.

      Hapus
    2. Dealokasi memori hanya dapat dilakukan jika digunakan untuk membuat atau memodifikasi kode program C dan ingin dilakukan pembatalan alokasi memori seperti yang dilakukan pada proses pemanggilan FREE.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -