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 :

Pointeur sur une structure


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 47
    Par défaut Pointeur sur une structure
    bonjour c'estb koi ^pointeur envers struct ,qu"elole valeur va prendre ce pointeur ,je parle de struct liste *ajout(int val,struct liste *p),que present struct liste *p e, *q et *nouveau dans cette fonction ajout.
    svp explique moi


    struct liste
    {
    int valeur;
    struct liste*suivant;
    };



    struct liste *ajout(int val,struct liste *p)
    {
    struct liste *q,*nouveau;

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Applique toi à faire des phrases correctes en français : c'est incompréhensible!

  3. #3
    Expert confirmé

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Par défaut
    Citation Envoyé par youssef222 Voir le message
    bonjour c'estb koi ^pointeur envers struct ,qu"elole valeur va prendre ce pointeur ,je parle de struct liste *ajout(int val,struct liste *p),que present struct liste *p e, *q et *nouveau dans cette fonction ajout.
    svp explique moi


    struct liste
    {
    int valeur;
    struct liste*suivant;
    };



    struct liste *ajout(int val,struct liste *p)
    {
    struct liste *q,*nouveau;
    Oula c'est du français tout ça ? refait ton message d'une façon compréhensible si tu veux qu'on t'aide

  4. #4
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 47
    Par défaut
    bonjour,j'ai pas compris ca :struct liste *ajout(int val,struct liste *p) et surtout (struct liste *p) qu"elle son role. prq on l'a ecrit dans les arguments de la fonction ajout.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    struct liste
    {
          nt valeur;
          struct liste*suivant;
    };
     
    struct liste *ajout(int val,struct liste *p)
    {
        struct liste *q,*nouveau
     
        /* ... */
    }

  5. #5
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Par défaut
    En C, la déclaration d'une variable de type struct (ou d'un pointeur sur une structure) doit être précédée du mot clé 'struct'.

    Sauf dans le cas d'un alias (avec un typedef) où le mot clé 'struct' n'est plus nécessaire.
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  6. #6
    Membre éprouvé Avatar de yakamoneye
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    108
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 108
    Par défaut
    Bonsoir,
    liste est une structure qui contient deux éléments.
    Le premier est de type entier (int) et est identifié par le nom valeur.
    Le second est un pointeur sur une liste (son adresse) et se nomme suivant.
    Ainsi, chaque "structure" (que tu appelle liste ici) contient une valeur entiere et l adresse d'une autre structure.

    La signature de ta fonction est on ne peut plus clair :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    struct liste *ajout(int val,struct liste *p);
    elle prend en argument un entier (val) et un pointeur sur une structure de "type" liste (p)
    Elle retourne un pointeur de sur une structure de type liste.
    A mon avis cette fonction doit servir à ajouter un élément dans ta liste...

    pour comprendre le fonctionnement des listes chainées rien de tel qu un bon tuto avec des shémas.
    listes chainées

  7. #7
    Expert confirmé

    Avatar de snake264
    Homme Profil pro
    Datascientist chez Leboncoin
    Inscrit en
    Novembre 2006
    Messages
    2 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Datascientist chez Leboncoin
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 914
    Par défaut
    Pense à la balise code aussi s'il te plait merci.

    Sinon pour ton code je te donne un indice:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    typedef struct machin{
    char * chaine1;
    char * chaine2;
    ...
    char * chaineX; /* tes pointeurs de chaine de char */
    struct machin *suivant; /* si tu fais une liste chainée */
    }tableau_de_chaines;
    Ensuite d'après le reste du code (simple déduction) il me semble que c'est un code qui créer une liste chainé de caractère. Pour la suite je te laisse voir le cours sur les listes chainées

  8. #8
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Citation Envoyé par snake264 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    char * chaine1;
    char * chaine2;
    ...
    char * chaineX; /* tes pointeurs de chaine de char */
    Pas du français ça :
    ce sont simplement des chaines de caractères.

Discussions similaires

  1. Réponses: 4
    Dernier message: 28/03/2014, 09h56
  2. Réponses: 2
    Dernier message: 09/03/2014, 23h10
  3. Fuite mémoire pointeur sur une structure bpf_program
    Par maestro_mirou dans le forum Débuter
    Réponses: 10
    Dernier message: 17/03/2012, 08h47
  4. tableau de pointeur sur une structure ?
    Par latitude38 dans le forum C
    Réponses: 8
    Dernier message: 17/01/2011, 18h58
  5. Pointeur sur une structure
    Par Fred.77 dans le forum C
    Réponses: 19
    Dernier message: 11/11/2007, 13h13

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