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 :

pb d'acces directement à un maillon d'une liste chainée à l'aide d'ub pointeur


Sujet :

C

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 41
    Points
    41
    Par défaut pb d'acces directement à un maillon d'une liste chainée à l'aide d'ub pointeur
    Bonjour

    Je dispose d'un tableau de pointeurs correspondant aux différentes adresses des maillons d'une liste chainée. Cependant je n'arrive pas à accéder aux éléments d'un quelconque maillon à partir du main voire d'une fonction (erreur de compil)

    Est-il possible d'accéder à numero_partic connaissant l'adresse du chainon et si oui comment faire ?
    autre chose : comment activer la balise ? J'ai mis des points pour compenser........ Merci d'avance .......

    Voici mon exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    typedef struct node *T_LIST;
    int *PTR_PARTICULES[NB_PARTICULES];
    typedef struct particule
    {
    .. int numero_partic;
    ..float xnew;
    ..float ynew;
    }
    PARTIC, *P_PARTIC;
    struct node
    {
     ..struct node *queue;
     ..void *label;
    };

  2. #2
    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
    Je dispose d'un tableau de pointeurs correspondant aux différentes adresses des maillons d'une liste chainée. Cependant je n'arrive pas à accéder aux éléments d'un quelconque maillon à partir du main voire d'une fonction (erreur de compil)
    Je ne comprend pas : le seul tableau que tu montres est un tableau de pointeur sur int, pas un tableau de pointeurs sur chaînon. Si le chaînon est représenté par une struct node, tu dois avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct node  *PTR_PARTICULES[NB_PARTICULES];
    Est-il possible d'accéder à numero_partic connaissant l'adresse du chainon et si oui comment faire ?
    A partir du chaînon, il faut avoir accès à la struct particule. Probablement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    struct node
    {
       struct node *queue;
       void *label;  // je ne sais pas à quoi ceci doit servir
       struct particule * particule ;
    };
    Dans ce cas, si on a p adresse d'un chaînon (struct node *) on accède à ce champ par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    p->particule->numero_partic ;
    ou à partir du tableau (avec le nouveau type) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PTR_PARTICULES[i]->particule->numero_partic
    comment activer la balise ?
    En utilisant le bouton # sur la deuxième ligne à droite

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 41
    Points
    41
    Par défaut pb d'acces directement à un maillon d'une liste chainée à l'aide d'ub pointeur
    Bonjour ou rebonjour
    Malgré certains conseils que je remercie je n'arrive pas à accéder directement à un chainon d'une liste chainée alors que j'ai son adresse dans un poste de tableau de pointeurs. Il y a une erreur de compilation que j'ai mise en commentaire dans le source, source dont, bien sur, j'ai supprimé toutes les lignes inutiles à la compréhension du problème.
    Plus précisément je voudrais accéder à numero_partic alors que j'ai l'adresse du paquet de données qui la porte. ............. Merci d'avance ............
    Je n'ai vraiment pas de chance avec les balises !!!!!
    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
    26
    27
    28
    29
    30
    31
    32
    33
    #define NB_PARTICULES     10
    #ifndef _LIST
    #define _LIST
    typedef struct node *T_LIST;
    #endif
    /*struct node *PTR_PARTICULES[NB_PARTICULES];*/
    typedef struct particule
    {
       int numero_partic;
    }
    PARTIC, *P_PARTIC;
    struct node
    {
    ....struct node *queue;
    ....void *label;
    ....struct particle * particule;
    };
    struct node *PTR_PARTICULES[NB_PARTICULES];
     
    int main (void)
    {
    ..T_LIST liste_particules;
     
    ..while (choix != 0 && !fini);
    ..for (i = 0; i> NB_PARTICULES; i++)
    .......{
    ........../*   Erreur de compilation dans l'instruction suivante ***********/
    ........../***  alors que je voudrais lire le numero_artic de chaque paquet  */
    ........./* voici l'erreur dereferencing pointer to incomplete type ****/
    printf ("\n N PARTICULE : %d ",PTR_PARTICULES[i]>particule>numero_partic);    
           };       
    ...return 0;
    }

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 306
    Points
    5 306
    Par défaut
    pour accéder au membre d'une structure via un pointeur, l'opérateur est -> et non pas >.

    Donc au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PTR_PARTICULES[i]>particule>numero_partic
    fait plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PTR_PARTICULES[i]->particule->numero_partic

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 129
    Points : 41
    Points
    41
    Par défaut
    Je m'execuse mais hélas pour moi c'est en élégant mon programme qyue j'ait fait l'erreur. L'anomalie se passe bien avec la bonne syntaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    25.	   for (i = 0; i> NB_PARTICULES; i++)
    26.	        {
    27.	            /*   Erreur de compilation dans l'instruction suivante ***********/
    28.	            /***  alors que je voudrais lire le numero_artic de chaque paquet   */
    29.	            /* voici l'erreur dereferencing pointer to incomplete type ****/
    30.	        printf ("\n N PARTICULE : %d ",PTR_PARTICULES[i]->particule->numero_partic);    
    31.	       };       
    32.	   return 0;
    33.	}

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Salut,

    while (choix != 0 && !fini);
    ..for (i = 0; i> NB_PARTICULES; i++)

    1: Le while devrais boucler à l'infini.
    2: i = 0; i > 10 ; i++ Tu ne rentrera jamais dans la boucle.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/03/2014, 09h31
  2. Accès direct aux annonces d'une commune - site pôle emploi
    Par devwald dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 23/01/2012, 11h55
  3. Accès direct aux annonces d'une commune - site pôle emploi
    Par devwald dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 07/01/2012, 14h55
  4. Acces a des elements d'une List
    Par Seth77 dans le forum C#
    Réponses: 9
    Dernier message: 01/02/2007, 10h05
  5. Restreindre l'accés directe au photos d'une gallerie
    Par elmohib1 dans le forum Langage
    Réponses: 9
    Dernier message: 20/12/2006, 17h34

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