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 :

un problème de passage de paramétres


Sujet :

C

  1. #21
    Membre émérite
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 852
    Points : 2 298
    Points
    2 298
    Par défaut
    Citation Envoyé par mohsenuss91
    Euh ! Donc cette structure représente quoi exactement ?
    Une declaration incorrecte.

    Citation Envoyé par mohsenuss91
    J'ai essayé avec *Maillon :
    ...
    Donc la valeur pointee par l a change, mais pas l et c'est normal. Si tu veux modifier la valeur de l, 2 solutions, tu renvoies l a la fin de ta fonction ou alors tu envoies un Maillon**. De mon point de vue, mieux vaut renvoyer l a la fin de la fonction.

  2. #22
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 338
    Points : 0
    Points
    0
    Par défaut
    Citation Envoyé par imperio Voir le message
    Une declaration incorrecte.



    Donc la valeur pointee par l a change, mais pas l et c'est normal. Si tu veux modifier la valeur de l, 2 solutions, tu renvoies l a la fin de ta fonction ou alors tu envoies un Maillon**. De mon point de vue, mieux vaut renvoyer l a la fin de la fonction.
    Voila ce que j'ai changé , mais toujours le même problème :/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    Maillon* defiler_l_int(Maillon*  l,int * x)
    {
      Maillon * suivant;
      if(l!=NULL) {
      *x = l->val;
      suivant = l->suiv;
      l->suiv = suivant;
      free(l->suiv);
      }
      return l;
    }
     
     
     
    int main()
    {
     Maillon*  p = creerMaillon(6);
      //.... Ajouter des éléments à la liste
    int x;
    while(p!=NULL){
       p=defiler_l_int(p, &x);
          printf("%d \n",x);
    }
    getch();
        }

  3. #23
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Tu crées ton maillon, mais tu ne l'ajoutes pas à la liste!

    Question qui pourra m'aider à t'aider dans un avenir proche:

    Si tu fais
    Ton compilo le trouve, ou il gueule que stdbool.h n'existe pas?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  4. #24
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Euh ! Donc cette structure représente quoi exactement ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    typedef struct
    {
       Maillon* s;
    } Liste;
    Une déclaration (correcte n'en déplaise à Mr imperio) définissant le type Liste.

    Cette déclaration ne crée pas un objet de type Liste, elle ne fait que dire comment un objet de ce type est constitué.

    Dans ton programme, il te faut créer un objet de type Liste, puis y ajouter tes maillons. C'est pourquoi, dans un post précédent, j'avais pris le soin de préciser comment les choses devaient s'agencer dans main(), je (me) cite en ajoutant les commentaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //------------------------
       Liste liste = {NULL}; // Ici est créé l'objet liste de type Liste dont on a besoin
                                   // initialisé à une liste vide
       int x;
      //.... Ajouter des éléments à la liste. // A toi de le faire
       while(defiler_l_int(&liste, &x))   // Utilisation de la fonction 
       {
          printf("%d \n",x);
       }
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  5. #25
    Membre émérite
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 852
    Points : 2 298
    Points
    2 298
    Par défaut
    Citation Envoyé par diogene Voir le message
    Une déclaration (correcte n'en déplaise à Mr imperio) définissant le type Liste.
    Mince alors, decidement j'en aurais appris sur cette conversation... Merci bien.

Discussions similaires

  1. Réponses: 19
    Dernier message: 09/06/2006, 10h03
  2. Problème de passage de paramètres à une procedure
    Par momo62 dans le forum x86 16-bits
    Réponses: 2
    Dernier message: 22/12/2005, 15h22
  3. [template] problème de passage de paramètres
    Par vinny_the_true dans le forum C++
    Réponses: 2
    Dernier message: 14/12/2005, 01h15
  4. Réponses: 9
    Dernier message: 13/05/2005, 03h13
  5. problème de passage de paramêtre sous mozilla
    Par mat10000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/09/2004, 10h48

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