列挙体とは関連性の高い定数をまとめる機能のことです。
例えば、オセロの駒に関する定数を列挙体で記述してみましょう。
enum item{
EMPTY = 0,
BLACK = 1,
WHITE = -1,
};
このように定数をまとめることが出来ます。
enum はただ単にまとめるだけではなく、
列挙体名で変数を宣言することが出来て、
その変数には列挙体に定義されている値しか代入することが出来ません。
-----
item data = EMPTY;
data = BLACK;
data = 4; // これはエラー
-----
この機能によって、勘違いによる不具合を格段に減らすことが出来ます。