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 :

Petite question sur free()


Sujet :

C

  1. #1
    Membre régulier Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Points : 120
    Points
    120
    Par défaut Petite question sur free()
    Hello all,
    J'ai un petit problème dans l'une des fonctions de mon programmations
    Je déclare un buffer ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char * buffer=strstr(param1, param2);
    Sachant que param1 et param2 sont les char * passé en paramètre à ma fonction.
    Ma question est la suivante suis je obligé de faire un free(buffer) avant le return de ma fonction.
    Car j'en ai mis un et parfois la fonction plante au moment de libérer la mémoire.
    Je sais qu'a chaque malloc/calloc correspond un free mais est que à chaque pointeur non NULL dois correspondre un free?
    Merci d'avance.

  2. #2
    Membre actif Avatar de Gamdwin
    Inscrit en
    Avril 2005
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 186
    Points : 207
    Points
    207
    Par défaut
    C'est normal que ça plante lorsque tu exécutes un free(buffer).

    La fonction strstr() retourne un pointeur sur la zone mémoire allouée à param1 correspondant à la première occurence de param2 qu'il trouve dedans. Bref, buffer est juste un sous-ensemble de param1, et ça ne se désalloue donc pas.

    La règle c'est bien un free() pour chaque malloc()/calloc(), ça ne change pas.

  3. #3
    Membre régulier Avatar de psyphi
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Allemagne

    Informations professionnelles :
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2006
    Messages : 119
    Points : 120
    Points
    120
    Par défaut
    Ok, c'est bien ce que je croyais, merci beaucoup.

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

Discussions similaires

  1. Petite question sur le free design de netbeans
    Par altadeos dans le forum NetBeans
    Réponses: 3
    Dernier message: 21/02/2009, 22h48
  2. [Visuel XP] Petite question sur le theme XP...
    Par ZoumZoumMan dans le forum C++Builder
    Réponses: 12
    Dernier message: 20/01/2005, 14h41
  3. petite question sur le composant IBX ...
    Par vbcasimir dans le forum Bases de données
    Réponses: 4
    Dernier message: 05/01/2005, 10h33
  4. Réponses: 3
    Dernier message: 08/12/2004, 13h58
  5. Petite question sur les performances de Postgres ...
    Par cb44 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 13/01/2004, 13h49

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