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 :

passer l'adresse d'un membre d'une structure ?


Sujet :

C

  1. #1
    Membre habitué Avatar de tintin72
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    663
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 663
    Points : 177
    Points
    177
    Par défaut passer l'adresse d'un membre d'une structure ?
    Bonjour,

    Je voudrais savoir comment faire pour passer l'adresse d'un membre d'une structure, ex;

    struct maStruct *p = (maStruct*) malloc (sizeof(maStruct));

    j'ai essayé ça

    p->&membre;

    mais ça n'a pas marché.
    Quelqu'un pourrait me montrer la bonne syntaxe ?

    Merci

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    &(p->membre)

  3. #3
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Skyrunner
    &(p->membre)
    ou tout simplement

  4. #4
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par Skyrunner
    &(p->membre)
    ou tout simplement
    Alors la tu chipottes.
    Mieux vaut plus de parentheses que pas asser non?
    Et puis comme ca il voit que c'est bien
    adresse de p->membre

    Et pas
    (&a)->membre

    On sais jamais il pourrai confondre...

  5. #5
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Skyrunner
    Citation Envoyé par Emmanuel Delahaye
    Citation Envoyé par Skyrunner
    &(p->membre)
    ou tout simplement
    Alors la tu chipottes.
    Mieux vaut plus de parentheses que pas asser non?
    Non. Le strict nécessaire suffit, sauf dans les cas non triviaux.
    Et puis comme ca il voit que c'est bien
    adresse de p->membre

    Et pas
    (&a)->membre

    On sais jamais il pourrai confondre...
    Moui, lui conseiller de lire un livre de C est sans doute plus utile...

  6. #6
    HRS
    HRS est déconnecté
    Membre confirmé
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Points : 638
    Points
    638
    Par défaut
    du calme. l'important est que tintin72 ait sa réponse.

    Il en a 2 pour le prix d'une.

    C'est d'ailleurs un inconvénient du C : plusieurs syntaxes possibles.
    mais il faut faire avec.

  7. #7
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    C'est d'ailleurs un inconvénient du C : plusieurs syntaxes possibles.
    Oui je ne suis pas sur que ce soit un reproche que l'on ne peut faire qu'au langage C, il s'agissait que d'une histoire de parenthèsage et de priorité d'opérateur. Ceci est valable pour moulte langages.

    Si tu part de ce principe, les mathématiques tout court ont d'énormes inconvénients :

    6 = 2 * 3 = sqrt(36) = sum( i = 1..3 ) i = ...

    Enormément d'écritures pour le même résultat. On ne peut donc pas dire que ce soit un inconvénient.

    Mais je conçoit parfaitement que le but principal est atteind : tintin72 a sa réponse.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/07/2014, 12h16
  2. Réponses: 1
    Dernier message: 28/08/2009, 17h31
  3. Adresse/offset du champs d'une structure
    Par ludo894 dans le forum C
    Réponses: 29
    Dernier message: 24/01/2007, 10h58
  4. Réponses: 6
    Dernier message: 12/02/2006, 18h02
  5. initialiser les membres d'une structure
    Par molesqualeux dans le forum C
    Réponses: 8
    Dernier message: 02/02/2006, 19h57

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