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 structures


Sujet :

C

  1. #1
    Membre régulier

    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 90
    Points : 119
    Points
    119
    Par défaut Tableau de structures
    Bonsoir,

    Voici la portion de code qui me pose problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    typedef struct test
    {
      char mot[100];
      int r;
     
    } test_t;
     
    test_t * tab = malloc (nb * sizeof(test_t));
    tab[j]->mot = string;
    tab[j]->r = calcul(string);
    J'aimerai simplement construire un tableau de structure test_t mais le compilateur m'affiche : r.c:93: error: invalid type argument of ‘->’ (have ‘test_t’).

    Merci d'avance pour toute aide.

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    L'écriture du style est équivalente à Si tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab[j] -> membre = qqchose
    , c'est comme si tu écrivais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (*tab[j]) . membre = qqchose
    Or, ici, dans ton code, correspond à l'élément numéro j de ton tableau, qui est une structure et non un pointeur de structure. Comme il ne s'agit pas d'un pointeur, tu ne peux donc pas le déréférencer. D'où erreur.

    Tu dois donc écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tab[j] . membre = qqchose
    Deuxième problème :

    mot est un tableau. Tu ne peux donc pas donner une valeur à un tableau.
    Pour copier une chaine, il faut utiliser une fonction de copie, telle que strcpy.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/05/2006, 11h46
  2. Tableau de structures en parametre d'une fonction
    Par -No Comment- dans le forum C
    Réponses: 19
    Dernier message: 29/03/2006, 15h00
  3. [VB6]Tri multi-colonnes sur tableau de structure
    Par ELGUEVEL dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 17/02/2006, 08h02
  4. Réponses: 9
    Dernier message: 13/02/2006, 08h39
  5. Trier un tableau de structures
    Par Yux dans le forum C
    Réponses: 7
    Dernier message: 05/11/2005, 17h28

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