« Programmation C/Gestion de la mémoire » : différence entre les versions
Contenu supprimé Contenu ajouté
m Révocation des modifications de 78.31.41.34 (discussion) vers la dernière version de DannyS712 Balise : Révocation |
Aucun résumé des modifications |
||
Ligne 8 :
* <code>realloc</code>, pour modifier la taille d'une zone mémoire déjà allouée.
Ces deux dernières ne sont pas toujours implémentées, contrairement aux deux premières. Si c'est le cas elles peuvent être remplacées par une séquence de <code>malloc</code>/<code>memset</code>, et <code>malloc</code>/<code>memmove</code>/<code>free</code>.
Ces fonctions sont déclarées dans l'en-tête <code><stdlib.h></code>.▼
== Gestion dynamique de la mémoire ==
Ligne 164 ⟶ 166 :
<code>realloc</code> tentera de réajuster la taille du bloc pointé par ''ancien_bloc'' à la nouvelle taille spécifiée. À noter :
* si ''nouvelle_taille'' vaut zéro, l'appel est équivalent à <code>free(ancien_bloc)</code>. Ce comportement est toutefois spécifique à certains compilateurs et ne doit pas être substitué à un <code>free</code> dans un programme portable.
* si ''ancien_bloc'' est nul, l'appel est équivalent à <code>malloc(nouvelle_taille)</code>.
|