Enumeration types are used to hold a value that belongs to a particular set. Keyword 'enum' is used to define enumeration types. Each element in the enumeration type is assigned with a consecutive integer constant starting with 0 by default.
Syntax for declaring enum is given below
enum type_name{value_1, value_2, value_3,...}
Each of the values in the value set (ie; value_1, value_2 etc) are integer constants. By default, they start with 0 and increments by 1. You can override this values your self. Let's take a look at it with the help of an example.
- #include <stdio.h>
- enum day_of_week{ sunday, monday, tuesday, wednesday, thursday, friday, saturday};
- int main(){
- enum day_of_week today;
- //Assigns enum value sunday to the variable today.
- today = sunday;
- printf("%d", today);
- return 0;
- }
- Output:
- 0
In the above program enum type "day_of_week" consists of 7 values; Sunday to Saturday. Each of them is internally assigned with an integer constant starting with 0 by default. 'Sunday' gets 0, 'Monday' gets 1 and so on. Here the 'printf' statement will output the value 0, because we've assigned enum value 'Sunday' to the variable 'today' of type 'day_of_week'.