Aracılığıyla paylaş


free

Kaldırır veya bir bellek bloğu serbest bırakır.

void free( 
   void *memblock 
);

Parametreler

  • memblock
    Önceden boşaltılması için bellek bloğu ayrılmış.

Notlar

free İşlevi bir bellek bloğu seçeneklerindeki (memblock), önceden ayrılmış bir çağrı tarafından calloc, malloc, veya realloc.Boşaltılmış bayt blok ayrıldı, istenen bayt sayısı eşdeğerdir (veya söz konusu olduğunda, reallocated realloc).memblock Olan NULL, işaretçiyi yoksayılır ve free hemen verir.Geçersiz bir işaretçi serbest bırakma girişimi (tarafından ayrılmamış bir bellek bloğu için bir işaretçi calloc, malloc, veya realloc) sonraki ayırma isteklerini etkiler ve hatalara neden olabilir.

Bellek boşaltma içinde bir hata oluştuğunda, errno hata ile işletim sistemi hakkında bilgi Doğa ayarlanır.Daha fazla bilgi için bkz. errno, _doserrno, _sys_errlist ve _sys_nerr.

Bir bellek bloğu boşaltıldıktan sonra _heapmin tarafından kullanılmayan bölgeleri coalescing ve işletim sistemine bırakmadan Öbek bellek miktarını en aza indirir.İşletim sistemi tarafından serbest bırakılmış belleğe serbest havuza geri ve yeniden tahsisatı için kullanılabilir.

Uygulama hata ayıklama sürümü c çalışma zamanı kitaplıkları ile bağlandığında free çözümler _free_dbg.Yığın hata ayıklama işlemi sırasında nasıl yönetildiği hakkında daha fazla bilgi için Hata ayıklama crt öbek.

freeişaretlenmiş __declspec(noalias), işlev genel değişkenleri değiştirmek için garanti anlamına gelir.Daha fazla bilgi için bkz: noalias.

İle ayrılan belleği serbest bırakmak için _malloca, kullanma _freea.

Gereksinimler

İşlev

Gerekli başlık

free

<stdlib.h> ve <malloc.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

Örneğin bakın malloc.

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Bellek ayırma

_alloca

calloc

malloc

realloc

_free_dbg

_heapmin

_freea