Différences entre versions de « A quoi sert la fonction malloc() et quand est-ce qu'on l'utilise »

De Didaquest
Aller à la navigationAller à la recherche
(Page créée avec « {{Widget:Fiche-Questions-Haut}} = {{Widget:Questions-possibles-Fiche}} = <!-- ********** Début Fiche Didactique Questions ******************--> {{Fiche Didactique Quest... »)
 
Ligne 27 : Ligne 27 :
 
<!-- ****************** Commercez les modifications ***********************  -->
 
<!-- ****************** Commercez les modifications ***********************  -->
  
*...............................................................................
+
*'''Fonction malloc()'''
................................................................................
+
La fonction malloc de la bibliothèque <stdlib> nous aide à localiser et à '''réserver''' de la mémoire au cours d'un programme. La libération de la mémoire ainsi réservée s'effectue avec la fonction free.
................................................................................
+
 
................................................................................
+
Cette fonction est déclarée dans l'en-tête <stdlib.h>.
*...............................................................................
+
le prototype de la fonction malloc() est le suivant :
................................................................................
+
 
................................................................................
+
'''void *malloc(size_t size);'''''Texte italique''
................................................................................
+
Le seul paramètre à passer à malloc est le nombre d'octets à allouer. La valeur retournée est l'adresse du premier octet de la zone mémoire allouée. Si l'allocation n'a pu se réaliser (par manque de mémoire libre), la valeur de retour est la constante NULL.
 +
 
 +
La libération de la mémoire précédemment allouée via malloc est assurée par la fonction '''free()''' dont la déclaration est la suivante :
 +
 
 +
'''void free(void *ptr);'''
 +
Le seul paramètre à passer est l'adresse du premier octet de la zone allouée et aucune valeur n'est retournée une fois cette opération réalisée.
 +
 
 +
'''Exemple''':
 +
#include <stdlib.h>
 +
 
 +
int* pointeur = malloc(20 * sizeof(int)); //Allocation de 40 octets (Un entier est égal à 2 octet)
 +
 
 +
if(pointeur == NULL)
 +
 
 +
{
 +
    printf('L'allocation n'a pas pu être réalisée\n");
 +
}
 +
 
 +
else
 +
 
 +
{
 +
    printf("L'allocation a été un succès\n");
 +
    free(pointeur); //Libération des 20 octets précédemment alloués
 +
}
 
}}<!-- ************************* Fin *****************************************-->
 
}}<!-- ************************* Fin *****************************************-->
  

Version du 4 juin 2020 à 12:29


Fiches Question - Réponse
Posez une Question
Target Icon.pngVotre Publicité sur le Réseau Target Icon.png

Puce-didaquest.png Questions possibles



Puce-didaquest.png Eléments de réponse



Puce-didaquest.png Concepts ou notions associés

Sur Quora (Questions / Réponses ) : [1]/ [2] / [3] / [4] / [5]
References
Références


Liens éducatifs relatifs aux 5 Mots-Clés Principaux

Sur le Portail Questions / Réponses

Sur Portail de Formation Gratuite

Sur des sites de Formation

Sur DidaQuest

A quoi sert la fonction malloc() et quand est-ce qu'on l'utilise sur : Wikipedia / Wikiwand / Universalis / Larousse encyclopédie
Sur Wikiwand : - Wikiwand / - Wikiwand / - Wikiwand / - Wikiwand / - Wikiwand
Sur Wikipédia : - Wikipedia / - Wikipedia / - Wikipedia / - Wikipedia / - Wikipedia
Sur Wikiversity : - Wikiversity / - Wikiversity / - Wikiversity / - Wikiversity / - Wikiversity
Sur Universalis : - Universalis / - Universalis / - Universalis / - Universalis / - Universalis



Puce-didaquest.png Réponse graphique





Puce-didaquest.png Bibliographie



Target Icon.pngVotre Publicité sur le Réseau Target Icon.png