IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

LIbération de la mémoire


Sujet :

C

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut LIbération de la mémoire
    Bonjour,

    Je voudrais savoir comment faire pour libérer de la mémoire

    Merci

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Cela dépend de la manière dont tu le déclares.
    Normalement, pour chaque "malloc" que tu fais, il doit y avoir un "free".
    Mais attention, comme tu manipules des objets pointés par plusieurs pointeurs, il faut faire attention de ne pas désallouer plusieurs fois le même objet...

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Tu "déclares" la variable arbre comme ceci :
    Citation Envoyé par Premium
    J'ai fait comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void libere_arbre(t_cellule **arbre)
    Mais tu l'utilises comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      if(arbre->NW) libere_arbre(arbre->NW);
    "arbre" est un pointeur de pointeurs de type t_cellule, ou un tableau de pointeurs de t_cellule...

    Si j'ai bien compris ce que tu souhaites faire, c'est-à-dire se balader dans un arbre, alors utilises des pointeurs de t_cellule, et non des pointeurs de pointeurs... (Je n'en vois pas l'utilité ici)

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mai 2006
    Messages : 507
    Points : 705
    Points
    705
    Par défaut
    Citation Envoyé par Premium
    J'ai utilisé un t_cellule **arbre, car la racine de l'arbre sera modifié.
    Je croyais que pour que ça soit réellement le cas, il fallait que j'utilise de cette manière.
    Je ne vois pas le rapport...

    Pour pouvoir utiliser un t_cellule **arbre, comment est-ce qu'il faut que j'écrive dans le code, les appels aux champs et à la fonction récursive.
    Pour que cela correspondent aux types et aux structures, il faut sans doute écrire quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if( (*arbre)->NW ) libere_arbre ( (*arbre)->NW );

Discussions similaires

  1. Libération de la mémoire
    Par Premium dans le forum C
    Réponses: 4
    Dernier message: 09/08/2006, 18h15
  2. [CSV] Libération de la mémoire
    Par cedricgirard dans le forum Langage
    Réponses: 7
    Dernier message: 05/01/2006, 12h02
  3. libération de la mémoire après traitement ?
    Par isachat666 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/12/2005, 19h29
  4. [VB]Libération de la mémoire
    Par seroa dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/10/2005, 11h52
  5. Libération de la mémoire
    Par gibet_b dans le forum Composants VCL
    Réponses: 3
    Dernier message: 30/06/2004, 12h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo