ENUMERATED DATA TYPES
Enumerated data type variables can only assume values which have
been previously declared.
enum month { jan = 1, feb, mar, apr, may, jun, jul, aug, sep, oct, nov, dec }; enum month this_month; this_month = feb;
In the above declaration, month is declared as an enumerated data type. It consists of a set of values, jan to dec. Numerically, jan is given the value 1, feb the value 2, and so on. The variable this_month is declared to be of the same type as month, then is assigned the value associated with feb. This_month cannot be assigned any values outside those specified in the initialization list for the declaration of month.
#include <stdio.h> main() { char *pwest = "west",*pnorth = "north", *peast="east", *psouth = "south"; enum location { east=1, west=2, south=3, north=4}; enum location direction; direction = east; if( direction == east ) printf("Cannot go %s\n", peast); }
The variables defined in the enumerated variable location should be assigned initial values.