free
Membatalkan alokasi atau membebaskan blok memori.
Sintaks
void free(
void *memblock
);
Parameter
memblock
Blok memori yang dialokasikan sebelumnya untuk dibebaskan.
Keterangan
Fungsi membatalkan free
alokasi blok memori (memblock
) yang sebelumnya dialokasikan oleh panggilan ke calloc
, , malloc
atau realloc
. Jumlah byte yang dibebankan setara dengan jumlah byte yang diminta ketika blok dialokasikan (atau direalokasikan, untuk realloc
). Jika memblock
adalah NULL
, penunjuk diabaikan, dan free
segera kembali. Mencoba membebaskan pointer yang tidak valid (pointer ke blok memori yang tidak dialokasikan oleh calloc
, , malloc
atau realloc
) dapat memengaruhi permintaan alokasi berikutnya dan menyebabkan kesalahan.
Jika terjadi kesalahan dalam membebaskan memori, errno
diatur dengan informasi dari sistem operasi pada sifat kegagalan. Untuk informasi selengkapnya, lihat errno
, _doserrno
, _sys_errlist
, dan _sys_nerr
.
Setelah blok memori dibebaskan, _heapmin
meminimalkan jumlah memori bebas pada tumpukan dengan menyatukan wilayah yang tidak digunakan dan melepaskannya kembali ke sistem operasi. Memori yang dibebaskan yang tidak dirilis ke sistem operasi dipulihkan ke kumpulan gratis dan tersedia untuk alokasi lagi.
Ketika aplikasi ditautkan dengan versi debug pustaka run-time C, free
diselesaikan ke _free_dbg
. Untuk informasi selengkapnya tentang bagaimana tumpukan dikelola selama proses debugging, lihat Tumpukan debug CRT.
free
ditandai __declspec(noalias)
, yang berarti bahwa fungsi dijamin tidak memodifikasi variabel global. Untuk informasi selengkapnya, lihat noalias
.
Untuk membebaskan memori yang dialokasikan dengan _malloca
, gunakan _freea
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Function | Header yang diperlukan |
---|---|
free |
<stdlib.h> dan <malloc.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
Lihat contoh untuk malloc
.
Baca juga
Alokasi memori
_alloca
calloc
malloc
realloc
_free_dbg
_heapmin
_freea
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk