Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Tableaux de structures en C
Envoyé par: Tux iN tHe wOod

Bonjour,

Je suis en train de modifier un petit programme de physique écrit en C.

J'ai besoin de renseigner dans mon programme des informations sur plusieurs éléments chimiques : un numéro atomique (entier) et une chaîne de caractères (deux carac).

Exemple : pour l'élément Li, le numéro vaut 3.

Voici comment je voyais les choses :
typedef struct
{
   char*        nom;
   int          Z;
} atome;

atome periodic_table[2]={{'Li',3},{'Fe',26}};
printf("%s %d ", periodic_table[1].nom, periodic_table[1].Z);

Mais comme vous vous en doutez, il y a plein d'erreurs dans les deux dernière lignes :
read_CAR.c:35: attention : initialization makes pointer from integer without a cast
read_CAR.c:36: erreur: expected declaration specifiers or ‘...’ before string constant
attention : la définition de données n'a pas de type ni de classe de stockage
read_CAR.c:36: erreur: conflicting types for ‘printf’
read_CAR.c:36: note: a parameter list with an ellipsis can’t match an empty parameter name list declaration


En bref, l'idée d'un tableau de structures est-elle bonne ? Comment puis-je accéder à une composante de ma structure ? Le point ne semble pas fonctionner.


Merci d'avance

Poste le Friday 9 July 2010 11:23:28
Répondre     Citer    
Re: Tableaux de structures en C
Envoyé par: nicola

Déjà, si ma mémoire est bonne, 'Fe' n’est pas possible, au contraire de "Fe".

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Saturday 10 July 2010 21:57:29
Répondre     Citer    
Re: Tableaux de structures en C
Envoyé par: ALT

Une question : les tableaux ne s'initialisent-ils pas avec des parenthèses (tableau[2]=((élément0),(élément1)) ) ?
Il me semble en effet me souvenir d'un truc de ce genre...

"Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux."
Attribué indistinctement à :
Thomas Jefferson
Benjamin Franklin
Albert Einstein !

Poste le Tuesday 3 August 2010 16:32:01
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Tableaux de structures en C
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons