Enumerated Types are Not Strings
It bears repeating: Even though enumerated type values look like strings, they are new keywords that we define for our program. Once defined, the computer can process them directly.
There is no need to use strcmp with enumerated types.
Enums are Not (Really) Integers
It turns out that enumerated types are treated like integers by the compiler. Underneath they have numbers 0, 1, 2, ... etc. You should never rely on this fact, but it does come in handy for certain applications.
For example, our security_levels enum has the following values:
Printing the "string" representation of the type.
Note: One of the shortcomings of enumerated types is that they don't print nicely. To print the "String" associated with the defined enumerated value, you must use the following cumbersome code: