Question Est-il légal d'avoir des valeurs enum en double dans C?


enum protocol {
    ascii_prot = 3, /* arbitrary value. */
    binary_prot,
    negotiating_prot = 4 /* Discovering the protocol */
};

Tous les deux binary_prot et negotiating_prot est égal à 4?


18
2018-04-06 03:30


origine


Réponses:


Oui.


36
2018-04-06 03:33



Oui; C ne concerne pas les valeurs enum. Pourquoi faire cela est une autre question, à moins qu'il y ait une raison de traiter le paquet de découverte de la même manière que les paquets de données. (Ce qui pourrait bien être quand quelqu'un d'autre a conçu le protocole et que vous voulez vous en tenir le plus possible à leur documentation.)


6
2018-04-06 03:36