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 :

retourner un pointeur


Sujet :

C

  1. #41
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 188
    Points : 68
    Points
    68
    Par défaut
    Merci gi pour ta réponse , le probleme venait du = entre le pointeur et le tableau de chaine de caracteres qu'il fallait remplacer par strcpy, j'avais l'habitude d'utiliser le = entre 2 pointeurs
    Sinon , je libere mes pointeurs dès que j'en ai plus besoin par free( nom du pointeur) mais là erreur lors de l'exécution :

    Je vais chercher moi meme le probleme!


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    *** glibc detected *** ./ess: free(): invalid pointer: 0x0804a05f ***
    ======= Backtrace: =========
    .................................;

  2. #42
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par psgman113
    mais il me dit bien que l'allocation a échouée
    pourquoi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    char  *msg_code= malloc(n);
    Que vaut n ?
    Pas de Wi-Fi à la maison : CPL

  3. #43
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par psgman113
    J'ai simplifié mon probleme,

    Je construis une chaine de caractères dans une fonction , je retourne cette chaine à l'aide d'un pointeur , je veux la réafficher dans mon main et là hic:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    char * decodage_msg ()
    {
         int n;
     
       char *a=malloc(n);         
    <...>
          a=code_msg;
    T'as pas l'impression d'avoir ecrasé quelque chose là ?

    D'autre part n n'est pas initialisé, le comportement est indefini...

    Je crois que tu devrais reprendre les bases (comment copier une chaine de caractères, par exemple) avant de te lancer dans des choses plus compliquées...

    Ensuite, tu verras comment utiliser l'allocation dynamique correctement...
    Pas de Wi-Fi à la maison : CPL

  4. #44
    Provisoirement toléré
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 188
    Points : 68
    Points
    68
    Par défaut
    D'autre part n n'est pas initialisé, le comportement est indefini...
    J'ai indiqué au dessus que j'ai initialisé n à 300 ,
    et que j'ai remplacé le = par strcpy

    Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 31/10/2005, 17h25
  2. Fonction retournant un pointeur
    Par Le Furet dans le forum C
    Réponses: 8
    Dernier message: 25/09/2005, 18h54
  3. Réponses: 17
    Dernier message: 24/03/2005, 12h24
  4. fonction qui retourne un pointeur
    Par sorari dans le forum C++
    Réponses: 6
    Dernier message: 16/03/2005, 21h23
  5. Declaration de fonction retournant un pointeur sur fonction
    Par pseudokifaitladifférence dans le forum C
    Réponses: 5
    Dernier message: 11/08/2003, 19h37

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