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 :

tableau de structure et allocation dynamique


Sujet :

C

  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Par défaut tableau de structure et allocation dynamique
    Bonjour

    Cela fait un bon moment que je tourne en rond :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    typedef struct st1
    {
        char * nom;
        float x; 
    }st1;
     
    typedef struct st2
    {
        char * nom;
        st1*s;
        int nb;
    }st2;

    merci à vous et bonne soirée

    je souhaite allouer le tableau de structure s
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     st1 * st2[compteur1].s= malloc(nb* sizeof(st1));
    voici l'erreur

    syntax error before '.' token

  2. #2
    Membre émérite
    Avatar de Elijha
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Avril 2003
    Messages
    314
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Avril 2003
    Messages : 314
    Par défaut
    Bonsoir,

    Pourrais-tu mettre un peu plus de code stp ?

    Si ta déclaration de variable est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    st1 * st2[compteur1].s= malloc(nb* sizeof(st1));
    C'est faux, car tu essayes d'appeler cette variable avec le même nom que la déclaration de la structure. De plus, st2 est un tableau de pointeurs. As tu pensé à allouer de la mémoire ?
    Que représente la variable nb ? Le nombre de d'éléments de type st1 dans st2 ?

    Exemple de déclaration et d'allocation:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    st2 test[5] ;
     
    test[0].s = malloc(2*sizeof(st1)) ;  // 2 éléments de type st1
    ...
    free(test[0].s) ;

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 81
    Par défaut
    Ici, tu as déclaré un tableau de pointeurs de structures de type st1 et qui s'appelle st2. C'est bien ce que tu veux faire ?

    Ensuite tu essayes, dans la même instruction, d'initialiser ce tableau sachant que cette initialisation n'est pas cohérente : pourquoi essayé d'allouer le membre s d'une structure de type st1 alors que celle-ci ne contient pas ce membre ? Je pense qu'il y a une confusion dans ce que tu veux faire.

    Si ton souhait est de créer un tableau de structures de type st1, il faut le déclarer de la même manière que si tu déclarais un tableau de type int :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    st1 tab[3]; /* Un tableau de 3 structures de type st1 */

  4. #4
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 23
    Par défaut
    ok merci à vous

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

Discussions similaires

  1. Allocation dynamique d'un tableau de structure
    Par TheChicken dans le forum Débuter
    Réponses: 20
    Dernier message: 12/05/2011, 17h11
  2. Allocation dynamique d'un tableau de structures
    Par ryadh.naouar dans le forum C
    Réponses: 5
    Dernier message: 24/04/2008, 12h49
  3. Tableau de N chaînes / Allocation dynamique
    Par acryline dans le forum C
    Réponses: 45
    Dernier message: 20/04/2007, 15h31
  4. Réponses: 67
    Dernier message: 13/02/2007, 18h08
  5. Allocation dynamique tableau dans structure
    Par chental dans le forum C
    Réponses: 2
    Dernier message: 03/08/2006, 09h03

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