single
Allocation Dynamique
Glissez pour afficher le menu
L'allocation dynamique de mémoire implique l'utilisation des opérateurs new et delete. Ces opérateurs permettent d'allouer de la mémoire pour des variables et des tableaux à l'exécution, offrant ainsi une plus grande flexibilité que l'allocation statique de mémoire.
-
new: opérateur utilisé pour allouer dynamiquement de la mémoire pour un objet ou un tableau d'objets pendant l'exécution ; -
delete: opérateur utilisé pour désallouer la mémoire précédemment allouée avec l'opérateurnew.
Un pointeur pointant vers une mémoire allouée dynamiquement est généralement stocké sur la pile, mais la mémoire à laquelle il fait référence est allouée sur le tas.
Pour créer dynamiquement une variable entière, il faut utiliser un pointeur avec le mot-clé new.
int *dynamicInteger = new int;
Pour libérer la mémoire allouée dynamiquement, utiliser l'opérateur delete :
delete dynamicInteger;
Adopter la règle suivante : lors de l'utilisation de new pour allouer de la mémoire, toujours utiliser delete pour la libérer par la suite.
Tableaux alloués dynamiquement
Pour allouer dynamiquement de la mémoire pour des tableaux, utiliser l'opérateur new[], et pour libérer la mémoire de ces tableaux, utiliser l'opérateur delete[].
L'oubli de supprimer la mémoire allouée dynamiquement peut entraîner des fuites de mémoire, où le programme conserve de la mémoire qui n'est plus utilisée.
Glissez pour commencer à coder
Imaginez que vous travaillez en tant qu'enseignant et que vous devez calculer la moyenne des notes d'un groupe d'élèves.
Vous allez également utiliser des pointeurs et des fonctions qui manipulent des tableaux alloués dynamiquement.
- Créez un tableau alloué dynamiquement
gradespour stocker les notes des élèves. - Utilisez la fonction
fillRandomGradespour remplir le tableau avec des notes aléatoires comprises entre 60 et 100. - Complétez la fonction
calculateAverageafin qu'elle :- Initialise la variable
sumà 0. - Parcourt le tableau à l'aide d'une boucle
for. - Ajoute chaque note à
sum. - Retourne la moyenne des notes en divisant le total
sumpar le nombre d'élèves.
- Initialise la variable
- N'oubliez pas de libérer la mémoire allouée en utilisant
delete[]à la fin du programme pour éviter les fuites de mémoire.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion