The memory shall not be allocated for enums.
But i could remember that the memory allocation and processing time
(preprocessor time and compilation time) are the main difference between macro
and an enum.
For example,
while doing debugging(runtime) we will not able to see the value of
macro,Since memory is not allocated for macro and we will not able to access
the memory location. To know the value of macro, we have to look into the file
where it is defined.
But for enums, memory shall be allocated. so that we could able to access the
memory and see the value of enum in debugging time(runtime).
So, if memory is not allocated for an enum, then how we could able to know the
value in runtime. And from where it access and gives us the value.