>>810
tag付きのenumでは不可逆の整数型を宣言できるよ

enum { ENUM_ZERO, ENUM_ONE, ENUM_TWO };
enum HOGE_NUM { HOGE_ZERO, HOGE_ONE, HOGE_TWO };

void main(void)
{
    int n;
    HOGE_NUM hn;

    n = 0;
    n = ENUM_ZERO;
    n = HOGE_ZERO;

    hn = 0;            // error
    hn = ENUM_ZERO;    // error
    hn = HOGE_ZERO;
}