Partage
  • Partager sur Facebook
  • Partager sur Twitter

question tres bete

je suis debutant

    24 octobre 2006 à 16:50:20

    salut voila mon code

    #include <stdio.h>

    typedef struct date date;
    struct date
    {
    int j;
    char m[5];
    int a;
    };
    void affichdate(date *dp);
    void demandat(date *dp);
    int numeromois(char *nommois);
    int main()
    {
           
            date d;


    demandat(&d);
    affichdate(&d);
    return 0;
    }


    void demandat(date *dp)
    {
            printf("jour:");
            scanf("%i",&dp->j);
            printf("mois:");
            scanf("%s",&dp->m);
            printf("annee:");
            scanf("%i",&(*dp).a);
            
    }
    void affichdate(date *dp)
    {
            printf("c est le %i %s %i\n",dp->j,dp->m,dp->a);
    }

    ma question pourqoi on doit taper &(*dp).a ou dp->a et pas dp.a tout court ?
    merci.
    • Partager sur Facebook
    • Partager sur Twitter
      24 octobre 2006 à 16:55:39

      parce que la variable pour le resultat doit être un pointeur -> donc pointeur ( le &).

      dp->a n'est pas exctement un pointeur (c un truc diff, mais je sais pas a quel niveau). et dp.a n'est pas un pointeur non plus (valire le cour de matéo, il est très clair la dessus).
      • Partager sur Facebook
      • Partager sur Twitter
        24 octobre 2006 à 17:11:12

        desolé j'ai pas compris.
        • Partager sur Facebook
        • Partager sur Twitter
          24 octobre 2006 à 17:20:01

          Citation : Darkelfe

          parce que la variable pour le resultat doit être un pointeur -> donc pointeur ( le &).

          dp->a n'est pas exctement un pointeur (c un truc diff, mais je sais pas a quel niveau). et dp.a n'est pas un pointeur non plus (valire le cour de matéo, il est très clair la dessus).


          C'est imprécis et pas tout à fait vrai

          dp est un pointeur pour accéder à la valeur de la structure il faut faire *dp, ensuite tu accèdes aux champs (*dp).champs ce qui est _strictement_ pareil à dp->champs
          • Partager sur Facebook
          • Partager sur Twitter

          question tres bete

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown