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 :

place mémoire


Sujet :

C++

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut place mémoire
    bonjour tout le monde

    je cherche une fonction prédifinie qui désalloue la place mémoire réservéé par un arbre.

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 48
    Points : 34
    Points
    34
    Par défaut
    Tout dépend comment tu as programmé ton arbre. Donnes-nous plus de précisions...

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    struct tab
    {
      double val;
      int occ;
      String code;
    };
    tab *Table;
    *****************
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef struct ab
    {
       tab element;
       struct ab *droit;
       struct ab *gauche;
     
    }noeud;
    typedef noeud * arbre;
    arbre P;
    et je veux désallouer P.
    merci d'avance.

  4. #4
    CGi
    CGi est déconnecté
    Expert éminent
    Avatar de CGi
    Inscrit en
    Mars 2002
    Messages
    1 060
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 1 060
    Points : 8 296
    Points
    8 296
    Par défaut
    Pour l'instant ton pointeur P est un pointeur qui pointe n'importe où !
    Et tu n'as aucun espace alloué pour un noeud !

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    mais j'ai alloué de la place pour P
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P = (arbre )malloc(sizeof(arbre));

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Ce qui a été alloué avec malloc doit être désalloué avec free.

    Mais ça c'est du C, pas du C++.

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    void supprimer(arbre T)
    { if (! est_vide(T) )
       { supprimer (T->gauche);
         supprimer (T->droit);
         }
         free(T);
    }

    ensuite l'appel:
    mais ça marche pas

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2004
    Messages : 54
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par sino
    mais j'ai alloué de la place pour P
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P = (arbre )malloc(sizeof(arbre));
    Je pense qu'il y a une erreur ici.
    Tu devrai faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    P = (arbre)malloc(sizeof(noeud));
    car sinon, tu n'alloue de l'espace que pour un pointeur.


    Sinon, comme cela a été dis plus haut, tout dans ton code est en fait du C.
    (non seulement le code mais aussi la manière de travailler)
    Donc la prochaine fois, essaie de poster dans le bon forum ;-).

  9. #9
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Points : 4 625
    Points
    4 625
    Par défaut
    Utilise new et delete.

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 164
    Points : 227
    Points
    227
    Par défaut
    En C++ c'est très simple tu met un destructeur dans la classe ab qui fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    delete droit;
    delete gauche;
    Tu est obligé de faire du C ?

Discussions similaires

  1. Place mémoire avec SAS
    Par stefsas dans le forum SAS Base
    Réponses: 3
    Dernier message: 10/09/2008, 14h05
  2. Place mémoire en IML
    Par stefsas dans le forum SAS IML
    Réponses: 2
    Dernier message: 19/05/2008, 12h15
  3. comment réserver 1 plus grande place en mémoire ?
    Par jack_hunt dans le forum MFC
    Réponses: 10
    Dernier message: 30/06/2005, 17h08
  4. [SAX] Vitesse contre place en mémoire
    Par Dinaïz dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 15/10/2004, 14h37
  5. mysql bouffe de la place en mémoire !
    Par iubito dans le forum Installation
    Réponses: 9
    Dernier message: 05/11/2003, 17h01

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