Type enum !!
newram66
Messages postés
10
Statut
Membre
-
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 441 Date d'inscription Statut Contributeur Dernière intervention -
salut
je fait l'etude d'un code source pour une puce.
j'ai la structure suivante
typedef enum {
Size1,
Size2
} Size_enum ;
le probleme est qu'il y a apres l instruction suivante
tab[Size1] = (unsigned short)(a);
(avec
char* tab
et
WORD val
)
est ce que je peux savoir exactement l'indice de la case où val a a été stocké ?
est ce que quelqu'un peut m'aider
merci d'avance
je fait l'etude d'un code source pour une puce.
j'ai la structure suivante
typedef enum {
Size1,
Size2
} Size_enum ;
le probleme est qu'il y a apres l instruction suivante
tab[Size1] = (unsigned short)(a);
(avec
char* tab
et
WORD val
)
est ce que je peux savoir exactement l'indice de la case où val a a été stocké ?
est ce que quelqu'un peut m'aider
merci d'avance
2 réponses
-
Bonjour,
Je n'ai pas tout compris.
Pourriez-vous être plus précis.
Notamment, "val" intervient où dans votre programme ?
De plus : char *tab ne suffit pas à allouer une zone. Encore faut-il l'allouer.
-
bjr
oui en fait j'ai mal posé le probleme
voila je le repose :
char* tab[100];
WORD val;
val = 12; ( ou n'importe quelle valeur )
tab[Size1] = (unsigned short)(val);
en fait mon probleme est que je veux savoir l'indice où val est stocké pour savoir precisement la structure de la trame. (parce que tab est en fait un tableau qui sera envoyé par l'uart). -
-
-
-
-
Par défaut les énumération commencent à zéro et incrémente de 1 à chaque variable ajoutée.
Donc Size1==0, Size2==1.
Mais il est aussi possible de forcer les valeurs.
enum test{val=0,mal=2,sal=4,gal,bal=8};
dans ce cas, gal==5.
Je ne sais plus si on peut donner des valeurs négatives, mais je crois que non.