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 structures


Sujet :

C

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut pointeur sur structures
    bon, me revoilà encore.

    y a un truc truc que je ne comprend pas.

    si j'ai bien compris,

    tt veut dire qu'il est pointeur sur la structure du type toto, donc tt pointe une structure toto et *tt la désigne c ça?
    et comment j'y accèdes à ses membres?
    comme ça?

  2. #2
    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 Seimaya Voir le message
    si j'ai bien compris,
    tt veut dire qu'il est pointeur sur la structure du type toto, donc tt pointe une structure toto et *tt la désigne c ça?
    Oui, à condition, bien sûr que tt ait une valeur valide.
    et comment j'y accèdes à ses membres?
    comme ça?
    C'est écrit dans ton livre de C (K&R2 § 6.4).
    ou la forme simplifiée (et recommandée)
    qui est nettement plus claire...

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    c pas un bouquin, cours educatel. y a pas le signe -> je ne connaissais pas.
    ( c vraiment marqué nul part sur leur cours...)

    ok j'ai pigé le -> qui est plus simple pour accéder à mes membres.
    Mais comment j'accède à un membre d'une structure imbriqué par un autre à l'aide des pointeurs?

    et surtout, je comprend ce que c une structue, mais quel en est vraiment l'utilité et qd l'utiliser?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    c bien beau dans la plus part des tut de mettre des définition, on les comprends mais si ils donnaient des cas concret et l'utilité, ça faciliterai les choses.)
    parce que là, j'ai parcouru tout leur cours et comprend à peu près tout et ils disent que là je peux faire un programme conséquent et tout seul. je veux bien mais un cas concret m'aiderait et ça je trouve dommage, j'ai l'impression de payer pour rien

  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 Seimaya Voir le message
    Mais comment j'accède à un membre d'une structure imbriqué par un autre à l'aide des pointeurs?
    Tu peux donner un exemple de structure ?
    et surtout, je comprend ce que c une structue, mais quel en est vraiment l'utilité et qd l'utiliser?
    Ca sert à organiser ses données, passer des 'contextes' à des fonctions...

    Certains usages sont un peu avancés. Tu verras ça un peu plus tard.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    Merci de la réponse.

    ex

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      struct adresse {
             char adr_ville[30] ;
             int adr_cp ;
             char adr_rue[30] ;
      } ;
      struct salarie {
             char nom[30] ;
             adresse adr ;
             float salaire ;
      } *addr;
    comment j'accède à adr_cp de adresse à partir de *addr?
    addr-> ?? -> ?? et là je bloque..... désolé de mon manque d'expérience, je débute

  7. #7
    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 Seimaya Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
      struct adresse {
             char adr_ville[30] ;
             int adr_cp ;
             char adr_rue[30] ;
      } ;
      struct salarie {
             char nom[30] ;
             adresse adr ;
             float salaire ;
      } *addr;
    comment j'accède à adr_cp de adresse à partir de *addr?
    addr-> ?? -> ?? et là je bloque.
    addr est un pointeur : ->
    adr est une structure : .

    Tu payes combien pour ces cours Educatel ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    60 euros par mois


    c un cursus pour analyste programmeur mais j'ai pris juste le module langage c pour linux

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    ça y est j'ai compris!!
    adresse adr ; => adresse est une structure et est le type.

    d'ou adr est une structure de type adresse donc aura accès à
    char adr_ville[30] ;
    int adr_cp ;
    char adr_rue[30] ;

    donc

    addr étant pointeur comme tu l'as dit, pointera directement sur adr
    d'où
    addr->adr.adr_cp

    Franchement je vais arrêter educatel c trop nul, sont même pas fichu de m'expliquer ça!!!!

  10. #10
    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 Seimaya Voir le message
    60 euros par mois
    C'est pas cher... C'est mon tarif horaire professionnel !

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    tu donnes des cours? o`u ça?

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    franchement t'explique trop bien!!!!
    tu organises comment tes cours et évalues comment les connaissances ( ça fait deux mois que j'en fais qd même)

  13. #13
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Salut,

    Je crois que vous avez mal compris...

    Sauf erreur de ma part, Emmanuel est ce que l'on appel un "programmeur freelance", et, quand il est engagé par une société, il demande 60€ de l'heure, pour la durée du travail que cette société lui a demandé

    (c'est bien ca, 'Manu" )

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    c bien dommage, je vais devoir parfaire ma formation en C ici si cela ne vous derange pas.
    Plus haut j'ai vu "K&R2 § 6.4" <= c'est quoi? Un tutoriel, bouquin?
    Bref j'aurai besoin de vous.
    les cours que j'ai sont incompréhensibles! Mal expliqué, chui au bord de la déprime.

    j'ai besoin d'utilisation concrète, genre
    apprendre à partir d'un code d'un petit soft par example.
    ché pas si je me fais comprendre

  15. #15
    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 koala01 Voir le message
    Sauf erreur de ma part, Emmanuel est ce que l'on appel un "programmeur freelance", et, quand il est engagé par une société, il demande 60€ de l'heure, pour la durée du travail que cette société lui a demandé

    (c'est bien ca, 'Manu" )
    Non. Je suis bel et bien formateur indépendant en informatique apès avoir été développeur salarié pendant 17 ans.

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    tu pourras alors me cibler et me conseiller.
    j'ai vu les bases jusqu'au Structures . donc dans la plus part des tut que je vois, je suis pratiquement à la fin du C. Mais j'ai l'impression qd je vois du vrai code de programme ( comme un driver de konica sous linux qui m'a bien gifflé) que je ne connais rien. Et c énervant .

    je me demande qd est ce que je vais pouvoir écrire mon propre driver.

  17. #17
    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 Seimaya Voir le message
    Mais j'ai l'impression qd je vois du vrai code de programme ( comme un driver de konica sous linux qui m'a bien gifflé) que je ne connais rien.

    je me demande qd est ce que je vais pouvoir écrire mon propre driver.
    Il y a 2 techniques à maitriser :
    - Le langage C
    - La programmation de modules Linux (en mode noyau)

    Le 2ème point exige une maitrise du C.

    De plus, pour écrire un driver, il faut bien connaitre le matériel pour lequel on écrit le driver, et son interface hard/soft qui peut être parfois extrêmement complexe. En telecom, j'ai vu des VLSI avec 1024 registres !

    Pour faire la mise au point, il vaut mieux être un peu électronicien, car il n'est pas rare qu'on sorte le scope...

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    ça a du bien ce forum.
    j'attend avec impatience vos propositions.

    adieu educatel

  19. #19
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 20
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Emmanuel Delahaye Voir le message
    Il y a 2 techniques à maitriser :
    - Le langage C
    - La programmation de modules Linux (en mode noyau)
    Le premier déjà me serait fort utile

    c'est là méthodologie que je réproche. par exemple en php, pour apprendre, j'ai commencé par un livre d'or, puis un site avec accès base de données, puis un chat.... Que des cas concret. Or en c jusqu'ici que des bout de code. et qd on regarde le code de Mplayer et BAM on pige rien , on dirait que le C qu'ils font a une autre dimension....

  20. #20
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 629
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 629
    Points : 30 692
    Points
    30 692
    Par défaut
    Déjà, je crois qu'il faudrait commencer par te demander
    As tu compris ce qu'est un pointeur, et à quoi cela peut servir
    Allez, un petit "quiz" vite fait (il s'adresse principalement à Seimaya, les autres auront j'espère la gentillesse de lui laisser le temps de répondre )

    Parmi ces différentes affirmations, lesquelles sont vraies, et lesquelles sont fausses (si en plus, tu peux justifier, ne te prive pas )
    1. Un pointeur n'est qu'une variable... un peu particulière
    2. La valeur d'un pointeur est en réalité l'adresse à laquelle on trouvera la variable correspondant au type du pointeur
    3. Un pointeur n'a aucune utilité à être utilisé comme variable dans une structure
    4. Le pointeurs sont d'un grand secours, entre autres, quand il sont passés comme arguments de fonction
    5. Il n'y a aucune précaution particulière à prendre avant d'utiliser un pointeur
    6. Un pointeur peut prendre l'adresse d'un objet qui survivra à la sortie d'une fonction
    7. un pointeur ne peut pas prendre l'adresse d'un objet qui survivra à la sortie d'une fonction
    8. la taille d'un pointeur est toujours fixe et connue d'avance, quel que soit le type qu'il représente
    9. l'utilisation "dynamique" d'un pointeur est souvent plus intéressante que la création d'un tableau de taille fixe
    10. l'utilisation d'un pointeur n'a strictement rien à voir avec les tableaux


    En fonction de tes réponses, et des justifications que tu donneras, on devrait déjà être en mesure d' "estimer" ce qui peut te faire défaut dans le domaine

    Ceci dit, il ne faut pas trop t'en faire: si on peut "apprendre" le C en quelque mois, il faut généralement plusieurs années de labeur acharné avant de pouvoir réellement estimer qu'on le maîtrise réellement... Alors, en plus, quand il s'agit de découvrir par soi-même un code source que quelqu'un d'autre a pondu, dont les commentaires ne sont *forcément* pas dans une langue que l'on maîtrise parfaitement... il y a de quoi être dépassé

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. lire pointeur sur structure en argument
    Par Linu6 dans le forum C
    Réponses: 3
    Dernier message: 23/09/2007, 00h53
  2. Réponses: 6
    Dernier message: 07/07/2007, 18h12
  3. pointeur sur structure
    Par julien.63 dans le forum C
    Réponses: 7
    Dernier message: 04/06/2007, 17h50
  4. problème pointeur sur structure
    Par lejohn dans le forum C
    Réponses: 9
    Dernier message: 01/05/2007, 13h17
  5. Réponses: 2
    Dernier message: 21/03/2007, 10h55

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