Type enum !!
newram66
Messages postés
10
Statut
Membre
-
fiddy Messages postés 11653 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11653 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
A voir également:
- Type enum !!
- Clear type - Guide
- Type de ram - Guide
- Comment changer le type de fichier - Guide
- Click-n-type - Télécharger - Vie quotidienne
- Sommaire type - Guide
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.
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.
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.
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.
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).
Ou alors j'ai toujours pas compris ta question...
il n y a aucune instruction d'initialisation initialisant la valeur size1 ni size2.
la question est en fait, dans le cas general quelle est la valeur affectée à une enumeration non intialisée ??
Size1 vaudra 0 et Size2 vaudra 1 puisqu'ils sont dans un enum.