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 :

Comment placer un pointeur dans une structure qui est à l'intérieur d'une structure?


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Comment placer un pointeur dans une structure qui est à l'intérieur d'une structure?
    Bonjour,

    Sois la structure définie suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef struct toto {
     
                                   Int a;
                                   Int b;
                                   Struct {
                                             char c;
                                             char d;
                                   } toto_2;
    } toto_1
    Est-ce que je peux définir un pointeur qui pointe non pas sur ma structure toto_1 (au quel cas, j'aurais fait toto_1 *pointeur) mais sur toto_2?

    Je vous remercie d'avance pour votre aide.

  2. #2
    Membre averti
    Inscrit en
    Septembre 2006
    Messages
    414
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 414
    Points : 354
    Points
    354
    Par défaut
    pourquoi tu ne fais pas plutot:
    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 toto2{
    char c;
    char d;
    } toto_2;
     
     
    typedef struct toto {
     
    Int a;
    Int b;
    struct toto2 * pointeur;
     
    } toto_1;
    puis si tu definie:
    pour acceder à pointeur ou a ses elements:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    test->pointeur;
    /*ou pour les elements:*/
    test->pointeur->c;
    test->pointeur->d;
    je ne sais pas si en langage C tu peux imbriquer des structures comme tu fais...
    je crois que c'est possible en C++ avec les classes...mais je ne suis sur de rien...


    EDIT: en fait c'est possible:
    http://perso.enstimac.fr/~gaborit/la...00000000000000

    suffit d'utiliser le "." pour acceder aux elements de la sous structure
    par contre pour creer un pointeur sur une sous structure....là je seche...peut etre avec un pointeur sur void...mais j'en doute...

    avec ma methode ennoncé plus haut il suffirai de creer un pointeur sur la "sous structure" toto_2 definie a l'EXTERIEURE de ton autre structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto_2 * nouvp=test->pointeur;
    __________
    "Any sufficiently advanced technology is indistinguishable from magic" Arthur C. Clarke

  3. #3
    Membre régulier Avatar de elghadi_mohamed
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2005
    Messages : 227
    Points : 89
    Points
    89
    Par défaut
    bonjour

    Citation Envoyé par zarmo1

    Sois la structure définie suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    typedef struct toto {
     
                                   Int a;
                                   Int b;
                                   Struct {
                                             char c;
                                             char d;
                                   } toto_2;
    } toto_1
    Est-ce que je peux définir un pointeur qui pointe non pas sur ma structure toto_1 (au quel cas, j'aurais fait toto_1 *pointeur) mais sur toto_2?

    Je vous remercie d'avance pour votre aide.

    essaye cette version :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    typedef struct toto {
     
                                   int a;
                                   int b;
                                   struct ab_h{
                                             char c;
                                             char d;
                                   } toto_2;
    } toto_1;
    A+
    Soit A un succès dans la vie. Alors A = x + y + z, où x = travailler, y = s'amuser, z = se taire.

Discussions similaires

  1. Réponses: 8
    Dernier message: 15/06/2015, 10h34
  2. [MySQL] Récupérer name d'une input qui est à l'interieur d'une boucle
    Par mounana199' dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 30/05/2014, 12h37
  3. Réponses: 11
    Dernier message: 16/05/2011, 14h36
  4. voir comment est alimentée une vue qui est dans dba_objects
    Par meufeu dans le forum Administration
    Réponses: 15
    Dernier message: 06/10/2004, 17h27

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