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
 
(8 versions intermédiaires par le même utilisateur non affichées)
Ligne 10 : Ligne 10 :
  
 
* [[{{FULLPAGENAME}}]]?
 
* [[{{FULLPAGENAME}}]]?
 +
* [[{{FULLPAGENAME}}|Quelle est la différence entre malloc() et calloc()]]?
  
  
Ligne 22 : Ligne 23 :
 
<!-- Complétez les pointillés et Supprimez les lignes non utilisées          -->
 
<!-- Complétez les pointillés et Supprimez les lignes non utilisées          -->
 
<!-- ****************** Commercez les modifications ***********************  -->
 
<!-- ****************** Commercez les modifications ***********************  -->
 +
*'''A quoi sert la fonction malloc() et quand est-ce qu'on l'utilise?'''
  
*'''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.
 
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.
  
Ligne 29 : Ligne 30 :
 
le prototype de la fonction malloc() est le suivant :
 
le prototype de la fonction malloc() est le suivant :
  
'''void *malloc(size_t size);'''''Texte italique''
+
'''''void *malloc(size_t size)'''''
 +
 
 
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.
 
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 :
 
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);'''
+
'''''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.
 
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''':
 
'''Exemple''':
#include <stdlib.h>
+
 
 +
include <stdlib.h>
  
 
int* pointeur = malloc(20 * sizeof(int)); //Allocation de 40 octets (Un entier est égal à 2 octet)
 
int* pointeur = malloc(20 * sizeof(int)); //Allocation de 40 octets (Un entier est égal à 2 octet)
Ligne 51 : Ligne 55 :
  
 
{
 
{
     printf("L'allocation a été un succès\n");
+
     printf("L'allocation a été réalisée avec succès\n");
     free(pointeur); //Libération des 20 octets précédemment alloués
+
     free(pointeur); //Libération des 40 octets précédemment alloués
 
}
 
}
 +
 +
*'''Quelle est la différence entre malloc() et calloc()?'''
 +
 +
Malloc et Calloc sont tous les deux utilisés en C pour l’allocation dynamique de mémoire.
 +
 +
Il existe deux différences majeures entre malloc et calloc en programmation C:
 +
 +
#premièrement en nombre d’arguments. malloc() prend un seul argument, alors que calloc() prend deux arguments.
 +
#Deuxièmement, malloc() n’initialise pas la mémoire allouée, alors que calloc() initialise la mémoire allouée à ZERO.
 
}}<!-- ************************* Fin *****************************************-->
 
}}<!-- ************************* Fin *****************************************-->
  
Ligne 90 : Ligne 103 :
  
 
<!-- Remplacez, Adaptez, Ajoutez ou Supprimez les images et lignes non utilisées-->
 
<!-- Remplacez, Adaptez, Ajoutez ou Supprimez les images et lignes non utilisées-->
Image:Definition-graphique-concept1.png|Titre de Votre Image 1
+
Image:Malloc2.jpg|Fonction malloc()
Image:Definition-graphique-concept2.png|Titre de Votre Image 2
+
 
Image:Definition-graphique-concept3.png|Titre de Votre Image 3
 
  
 
</gallery><!-- ************** Fin modification images***************************-->
 
</gallery><!-- ************** Fin modification images***************************-->
Ligne 103 : Ligne 115 :
 
<!-- ****************** Commercez les modifications pour les Vidéos *******************************************************-->
 
<!-- ****************** Commercez les modifications pour les Vidéos *******************************************************-->
  
<youtube width="250" height="250">k0O8-0kPQmM</youtube>
+
<youtube width="250" height="250">https://www.youtube.com/watch?v=GgbHImZUY_c</youtube>
<youtube width="250" height="250">iIlCg439eHQ</youtube>
 
<youtube width="250" height="250">k0O8-0kPQmM</youtube>
 
 
 
  
 
}}<!-- ************************* Fin modifications pour les Médias *******************************************************-->
 
}}<!-- ************************* Fin modifications pour les Médias *******************************************************-->
 
  
 
= {{Widget:Bibliographie-Fiche}} =
 
= {{Widget:Bibliographie-Fiche}} =
Ligne 119 : Ligne 127 :
 
<!-- ****************** Commercez les modifications *********************-->
 
<!-- ****************** Commercez les modifications *********************-->
  
* ..................                                               
+
* https://fr.wikipedia.org/wiki/Malloc#:~:text=malloc%20est%20en%20informatique%20une,effectue%20avec%20la%20fonction%20free%20.                                            
* ..................
+
* https://www.ltam.lu/cours-c/prg-c104.htm                                             
* ..................                                               
 
* ..................                                               
 
  
 
}}<!-- ************* Fin Fiche Didactique Bibliographie *************** -->
 
}}<!-- ************* Fin Fiche Didactique Bibliographie *************** -->
  
 
{{Widget:Fiche-Questions-Bas}}
 
{{Widget:Fiche-Questions-Bas}}

Version actuelle datée du 4 juin 2020 à 14:58


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 ) : calloc()/ realloc() / [1] / [2] / [3]
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 : calloc() - Wikiwand / realloc() - Wikiwand / - Wikiwand / - Wikiwand / - Wikiwand
Sur Wikipédia : calloc() - Wikipedia / realloc() - Wikipedia / - Wikipedia / - Wikipedia / - Wikipedia
Sur Wikiversity : calloc() - Wikiversity / realloc() - Wikiversity / - Wikiversity / - Wikiversity / - Wikiversity
Sur Universalis : calloc() - Universalis / realloc() - 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