Enum in C
In C, Enum is a user defined data type, used to create constant group, Each constant is assigned an by default integer value starting from 0,1,2 and so on.
Declaring Enum
Enum is declared using Enum keyword followed by space and Enum name and its body {}, within its body constants are defined separated by comma.
Syntax
enum enum_name{
constant_1,
constant_2,
constant_3...
};
Example
enum weekdays{
Monday,
Tuesday,
Wednesday,
Thursday,
Friday,
Saturday,
Sunday
};
Constants inside Enum weekdays, from Monday to Sunday have default integer values assigned.
Monday = 0
Tuesday= 1
Wednesday = 2
Thursday = 3
Friday = 4
Saturday = 5
Sunday = 6
Define Enum variable
Enum variable is declared with Enum keyword followed by its name and its variable.
Syntax
enum Enum_name variable;
Example
enum weekdays days;
Get enum constant value
enum weekdays days = Monday;
printf("Monday integer value is %d", days);
Output:
Monday integer value is 0
Change Constant enum integer values
enum allows to assign integer values to enum constants
enum weekdays{
Monday,
Tuesday,
Wednesday = 10,
Thursday,
Friday,
Saturday = 55,
Sunday
};
enum weekdays days = Monday;
printf("\nMonday integer value is %d", days);
days = Wednesday;
printf("\nWednesday integer value is %d", days);
days = Thursday;
printf("\nThursday integer value is %d", days);
days = Saturday;
printf("\nSaturday integer value is %d", days);
days = Sunday;
printf("\nSunday integer value is %d", days);
Output:
Monday integer value is 0
Wednesday integer value is 10
Thursday integer value is 11
Saturday integer value is 55
Sunday integer value is 56
Assigning or changing constant integer value will increase the next constant value.