onjour,
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 :
Code:
1
2
3
4
5
6
7
8 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 :
Citation:
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
Il doit y avoir un premier problème : il me semblait que la première cellule d'un tableau commençait à 0 mais le compilateur me dit un truc du genre "table index out of range" si j'essaie. de définir les cellules 0 et 1
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