free

 

Date de publication : juillet 2016

Pour obtenir la dernière documentation sur Visual Studio 2017, consultez Documentation Visual Studio 2017.

Libère un bloc de mémoire.

void free(   
   void *memblock   
);  

Paramètres

memblock
Bloc mémoire précédemment alloué à libérer.

Le free fonction libère un bloc de mémoire (memblock) qui a été précédemment allouée par un appel à calloc, malloc, ou realloc. Le nombre d’octets libérés est équivalent au nombre d’octets demandé lorsque le bloc a été alloué (ou réalloué, dans le cas de realloc). Si memblock est NULL, le pointeur est ignoré et free retourne immédiatement. Tentative de libération d’un pointeur non valide (un pointeur vers un bloc de mémoire qui n’était pas alloué par calloc, malloc, ou realloc) peuvent affecter les demandes ultérieures d’allocation et de provoquer des erreurs.

Si une erreur se produit pendant la libération de la mémoire, errno est défini avec les informations du système d'exploitation sur la nature de la défaillance. Pour plus d’informations, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

Après un bloc de mémoire a été libéré, _heapmin réduit la quantité de mémoire disponible sur le tas par fusion de régions inutilisées et les introduire dans le système d’exploitation. Mémoire libérée qui n’est pas libéré au système d’exploitation est restauré vers le pool libre et est disponible pour allocation à nouveau.

Lorsque l’application est liée à une version debug des bibliothèques Runtime C, free résout _free_dbg. Pour plus d’informations sur la gestion du segment de mémoire pendant le processus de débogage, consultez le tas de débogage CRT.

freeest marqué __declspec(noalias), ce qui signifie que la fonction ne peut ne pas modifier les variables globales. Pour plus d’informations, consultez noalias.

Pour libérer de la mémoire allouée avec _malloca, utilisez _freea.

FonctionEn-tête requis
free<stdlib.h>et<malloc.h></malloc.h></stdlib.h>

Pour plus d'informations sur la compatibilité, voir Compatibilité dans l'introduction.

Consultez l’exemple de malloc.

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Allocation de mémoire
_alloca
calloc
malloc
realloc
_free_dbg
_heapmin
_freea

Afficher: