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 :

Initialisation d'un pointeur sur structure


Sujet :

C

  1. #1
    Membre régulier
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 138
    Points : 70
    Points
    70
    Par défaut Initialisation d'un pointeur sur structure
    Bonjour.

    Voilà, j'ai une erreur d'exécution que je n'arrive pas à comprendre.
    J'ai une structure toute bête composée d'entiers.

    Dans mon main, je crée un pointeur sur cette structure et j'initialise chaque champ à la main.
    La compilation se déroule sans problème mais l'exécutino bloque à la ligne indiquée.


    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
    struct tache{
        int ID;
        int Duree;
        int PI;
        int V;
        int DP;
        int PA;
    };
     
    int main()
    {
        struct tache* Tache1;
     
        Tache1->ID=30213;
        Tache1->Duree=80;
        Tache1->PI=786;
        Tache1->V=10;
        Tache1->DP=50;//l'exécution bloque avant cette ligne
        Tache1->PA = 32;
     
        return 0;
    }
    Rien de bien compliqué, c'est pourquoi je ne vois pas d'où peut provenir l'erreur.
    Merci d'avance

  2. #2
    Membre habitué Avatar de sopsag
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 224
    Points : 190
    Points
    190
    Par défaut
    Quand tu écris
    tu déclares un pointeur sur une structure.
    Il faut encore que tu le fasses pointer sur quelque chose qui existe...
    Tu peux soit pointer sur une structure qui existe déjà :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    struct tache Tache0;
    struct tache* Tache1;
    Tache1 = &Tache0 ;
    soit allouer de l'espace mémoire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    struct tache* Tache1;
    Tache1 = malloc( sizeof( tache )) ;
    mais il ne faudra pas oublier de libérer la mémoire quand tu n'en auras plus besoin :
    Sinon, tu peux aussi ne pas utiliser de pointeur du tout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    struct tache Tache1;
    Tache1.ID = 123 ;
    etc...

    Peut être as-tu besoin d'un petit cours sur les pointeurs et l'allocation dynamique de la mémoire...
    (prévoir un bon thermos de café, mais c'est passionnant)
    [WinXP sp3 / Visual 2005 / Eclipse Ganymede / Python 2.6]
    Hadrien

  3. #3
    Membre régulier
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2008
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Janvier 2008
    Messages : 138
    Points : 70
    Points
    70
    Par défaut
    Au temps pour moi.
    On associera plutôt cela à la fatigue.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 11/03/2013, 10h15
  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