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 :

Petites précision à propos de free()


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 71
    Par défaut Petites précision à propos de free()
    Bonjour à tous,

    Je viens de parcourir un peu le forum pour cueillir quelques infos à propos de la fonction free(), mais je n'ai pas trouvé ce que je cherche.

    En faite, dans un de mes programmes je fais un free() sur un de mes pointeurs (sachant que précédemment j'ai un malloc d'un certain espace pour char).
    Une fois la libération mémoire terminé, je me trompe et parcoure le tableau a partir du dit tableau, retrouvant toutes les valeurs qui y était.

    Alors je voudrais comprendre, que fais de *`$&@#*$ de free(), mon problème est-il normal ?

    cordialement.

  2. #2
    Membre Expert
    Avatar de Anthony.Desvernois
    Homme Profil pro
    Ingénieur sécurité & risque
    Inscrit en
    Juin 2007
    Messages
    1 489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur sécurité & risque
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 489
    Par défaut
    Free n'efface pas la mémoire. Il indique simplement que le segment que tu as alloué et libre (comme son nom l'indique). Et si la page sur laquelle ce segment était alloué n'a pas été libéré par ton programme, il n'y aura pas de segfault.

    Une bonne pratique sinon serait de mettre ton pointeur à null après avoir fait un free dessus.

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2008
    Messages : 71
    Par défaut
    Ok, merci pour la petite lumière, c'est le genre de détail qui m'échappe
    En tout cas c'est bon, j'en déduis que c'est normal si mon tableau est toujours affiché, et cela tant que l'espace mémoire n'est pas utilisé par "quelqu'un" d'autre.

    Cordialement

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 452
    Par défaut
    Citation Envoyé par mixka13 Voir le message
    En tout cas c'est bon, j'en déduis que c'est normal si mon tableau est toujours affiché, et cela tant que l'espace mémoire n'est pas utilisé par "quelqu'un" d'autre.
    Intuition juste. C'est aussi comme ça que ça se passe sur un système de fichiers, ce qui as permis aux utilitaires style undelete d'exister et qui ont limité la portée de bien des catastrophes en leur temps.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Petite précision sur les pointeurs
    Par Fonzy007 dans le forum C
    Réponses: 2
    Dernier message: 07/12/2006, 11h25
  2. Imports : petites précisions
    Par Faiche dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2006, 15h42
  3. [XPath] petite précision sur type de syntaxe
    Par Royd938 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 15/06/2006, 12h13
  4. Petite question à propos du redbook...
    Par Michaël dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h54
  5. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21

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