Enumerations

Enumerations in C are types which are restricted to certain constants. Variables of an enumeration type can only be set with values from the enumeration.

   enum workdays { monday, tuesday, wednesday, thursday, friday };

   enum workdays today;

   today = tuesday;
   today = friday;
   today = sunday;  // Error at compile time.

   enum weekend { saturday = 1, sunday = 2 }; // one can assign any value to enum constants
   int foo = monday;  // the enum type is not necessary.  

In Java the following construct is used to create constants:

   interface Date  {
      public static final String MONDAY = "MONDAY";
   }
   
   String someDay = Date.MONDAY; // uppercase is only a convention