je sais qu'à la fin du programme tout est désalloué, mais le monsieur (ou la madame) souhaite apprendre donc il faut donner les réflexes de bases, sinon c'est encore bibi qui passe derrière pour balayer.
Quand on écrit malloc (en c) ou new/new il faut OBLIGATOIREMENT penser à la durée de vie des données et les libérer lorsqu'elles ne sont plus utile (via free(c) ou delete/delete ) .
Note bien qu'en java ou tout autre langage on est aussi confronté à la durée de vie des données mais c'est une problématique à la fois plus simple et plus complexe ;)
En gros il faut rajouter avant le return 0
for(i=0;i<3;++i)free(Enemble[i]);
à noter que :
3 peut avantageusement être remplacé par const int nbEnsemble = 3;
tu peux remplacer for(i=0...) par for( MaStructure *it = Ensemble ; it < Ensemble + nbEnsemble ; ++it ) et utiliser it->state
Il ne faut pas décorner les boeufs avant d'avoir semé le vent
[^] # Re: Facile.
Posté par fearan . En réponse au message Stocker directement des pointeurs qui pointent sur des structures. Évalué à 5.
je sais qu'à la fin du programme tout est désalloué, mais le monsieur (ou la madame) souhaite apprendre donc il faut donner les réflexes de bases, sinon c'est encore bibi qui passe derrière pour balayer.
Quand on écrit malloc (en c) ou new/new il faut OBLIGATOIREMENT penser à la durée de vie des données et les libérer lorsqu'elles ne sont plus utile (via free(c) ou delete/delete ) .
Note bien qu'en java ou tout autre langage on est aussi confronté à la durée de vie des données mais c'est une problématique à la fois plus simple et plus complexe ;)
En gros il faut rajouter avant le return 0
à noter que :
Il ne faut pas décorner les boeufs avant d'avoir semé le vent