Langage c (enumeration)

Résolu/Fermé
simyamsmasters Messages postés 45 Date d'inscription samedi 13 décembre 2008 Statut Membre Dernière intervention 23 mars 2010 - 26 févr. 2009 à 19:43
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 26 févr. 2009 à 20:10
Bonjour,

SVP jetter un coup d oeil a ce code


enum Statut
{
FAUX, VRAI
};

Est ce que l utilisateur peut attribuer a une variable de type Statut la valeur FAUX ou VRAI en tappant au clavier?
ou est ce que c est seulement le programmeur qui attribut en codant une valeur a la dite variable.

Parce que je ne comprend vraiment pas a quoi nous sert ce ( enum ). Merci de bien vouloir me repondre.
A voir également:

2 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
26 févr. 2009 à 20:10
Salut,

Le type enum permet d'utiliser des constantes entiers nommées.
Les noms des constantes cache la valeur numérique entière.
lami20j@debian:~/trash/ccm_c$ cat ccm59_enum.c
#include<stdio.h>

int main()
{
        enum Annee {janvier=1,fevrier, mars,
                    avril,    mai,     juin,
                    juillet,  aout,    septembre,
                    octobre,  novembre,decembre };
        enum Annee mois;
        char m[10];

        printf("janvier - %d\n",janvier);
        printf("juin - %d\n",juin);

        return 0;
}
lami20j@debian:~/trash/ccm_c$ gcc ccm59_enum.c
lami20j@debian:~/trash/ccm_c$ ./a.out
janvier - 1
juin - 6
lami20j@debian:~/trash/ccm_c$


C'est un peu prés pareil comme avec #define, avec l'avantage de la génération automatique de valeurs.
6
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
26 févr. 2009 à 19:56
Salut,
Voici un lien qui devrait répondre à tes questions : http://www.enseignement.polytechnique.fr/profs/informatique/Jean-Jacques.Levy/poly/mainB/node7.html
Cdlt
1