Its simple.user defined data type if we talk of C.
Basically you use enum when you know that some variable can have only value from this range,also it makes your program readibilty and understandibilty better.
Lets take an example –
enum week{Mon, Tue, Wed, Thur, Fri, Sat, Sun};
int main()
{
enum week day;
day = Wed;
printf("%d",day);
return 0;
}
here (enum week is correspondent to int or datatype ,after that its variable name,we have used day,you can use enum week no_of_days),since we have not defined initial value,it will automatically take monday value to be zero and subsequent value be + 1 from there,you can define value from between also like if you give wednesday value = 10 so defintion of enum will be like
enum week{Mon, Tue, Wed=10, Thur, Fri, Sat, Sun};
What will be the output if i print sun?Find it out yourself.You can use online editor to write small c/c++ programs,ideone.com.