Syntaxe
énumérerLa valeur par défaut de l'énumération_constant_element-1 est 0, la valeur de l'énumération_constant_element-2 est 1, la valeur de l'énumération_constant_element-3 est 2, et la valeur d'énumération_constant_element-n est (n-1).
Plongée profonde dans l'énumération
Maintenant, puisque nous connaissons la syntaxe pour définir le type d'énumération, regardons un exemple:
Erreur d'énumérationLe mot-clé «Enum» doit toujours être utilisé pour définir le type d'énumération. Donc, chaque fois que vous souhaitez définir un type d'énumération, vous devez utiliser le mot-clé «enum» avant . Après le mot-clé «enum», vous devez utiliser un identifiant valide pour définir le .
Dans l'exemple ci-dessus, le compilateur affectera io_error à la valeur intégrale: 0, disk_error à la valeur intégrale: 1 et Network_error à la valeur intégrale: 2. Par défaut, le premier élément d'énumération est toujours attribué la valeur 0, l'élémentation énumérée suivante se voit attribuer la valeur 1, et ainsi de suite.
Ce comportement par défaut peut être modifié si nécessaire en attribuant explicitement la valeur intégrale constante, comme suit:
Erreur d'énumérationDans ce cas, l'io_error est explicitement affecté à une valeur de 2 par le programme Valeur intégrale de l'élément enum précédent Network_error (i.e., 9) par le compilateur.
Ainsi, vous comprenez maintenant comment définir un type d'énumération défini par l'utilisateur en C. Est-il possible de déclarer une variable de type d'énumération (comme nous pouvons déclarer une variable de type entier)? Oui c'est le cas! Vous pouvez déclarer la variable d'énumération comme suit:
ENUM ERREUR HW_ERROR;Encore une fois, «Enum» est le mot clé ici, «l'erreur» est le type d'énumération, et «hw_error» est une variable d'énumération.
Nous allons maintenant examiner les exemples suivants pour comprendre les différents usages de l'énumération:
Exemple 1: utilisation de la définition de l'énum par défaut
Dans cet exemple, vous apprendrez à définir le type d'énumération avec des valeurs constantes par défaut. Le compilateur s'occupera d'attribuer les valeurs par défaut aux éléments d'énumération. Ci-dessous, vous verrez l'exemple de programme et la sortie correspondante.
#inclureExemple 2: utilisation de la définition de l'énume personnalisée
Dans cet exemple, vous apprendrez à définir le type d'énumération avec une valeur constante personnalisée. De plus, cet exemple vous aidera à comprendre comment l'initialisation des constantes personnalisées peut être effectuée dans n'importe quel ordre aléatoire. Dans cet exemple, nous avons explicitement défini la valeur constante pour le 1St et 3rd Éléments d'énumération (je.e., Io_error et network_error, respectivement), mais nous avons sauté l'initialisation explicite pour le 2nd et 4e éléments. Il est désormais de la responsabilité du compilateur d'attribuer les valeurs par défaut au 2nd et 4e Éléments d'énumération (je.e., Disk_error et print_error, respectivement). Disk_error sera attribué à une valeur de 3 et print_error sera attribué à une valeur de 9. Ci-dessous, vous verrez l'exemple de programme et la sortie.
#inclureExemple 3: Définition de l'énume en utilisant une expression constante
Dans cet exemple, vous apprendrez à utiliser l'expression constante pour définir la valeur constante pour les éléments d'énumération.
#inclureExemple 4: Portée de l'énumération
Dans cet exemple, vous apprendrez comment fonctionne la règle de portée pour ENUM. Une macro (#define) aurait pu être utilisée pour définir une constante au lieu de l'énumération, mais la règle de portée ne fonctionne pas pour la macro.
#inclureComparaison entre enum et macro
Énumérer | Macro |
La règle de portée est applicable à l'énumération. | La règle de portée n'est pas applicable à la macro. |
L'attribution de valeur d'énumération par défaut se produit automatiquement. L'énuo est très utile pour définir un grand nombre de constantes. Le compilateur prend l'initialisation de valeur constante par défaut. | Les valeurs macro-constantes doivent toujours être mentionnées explicitement par le programmeur. Cela pourrait être un processus fastidieux pour un grand nombre de constantes car le programmeur doit toujours définir manuellement chaque valeur constante tout en définissant la macro. |
Conclusion
Le programme ENUM en C pourrait être considéré comme une méthode facultative pour les programmes autonomes ou les projets de petite taille, car les programmeurs peuvent toujours utiliser la macro au lieu d'une énumération. Cependant, les programmeurs expérimentés ont tendance à utiliser l'énum sur macro pour les projets de développement de logiciels à grande échelle. Cela aide à écrire des programmes propres et lisibles.