C99枚举 - 需要说明

问题描述:

我已阅读this但接受的答案对我来说没有意义。我应该能够定义C99枚举作为C99枚举 - 需要说明

enum WeekDays 
{ 
    MON, TUES, WED, THURS, FRI, SAT, SUN 
}days; 

和利用作为枚举作为

days = FRI; 
if (days == FRI) 
{ 
    printf("Thank God it's Friday!"); 
} 

为什么在接受的答案额外的工作,以利用枚举主如下?

+0

你的问题是什么?你困惑C和C++吗? – fukanchik

+0

@fukanchik也许我很困惑c99和C++ 11。我记得在学习c时,枚举和struts可以在定义中声明一个变量,但显然这不是建议的,因为下面的答案是规定的。 – Mushy

+0

该问题的接受答案实际上是不正确的。当两行代码出现在文件范围时,会出现问题中描述的错误。查看我最近对[问题]的评论(https://*.com/q/1102542/827263)。 –

你的代码应该可以工作。一般来说,虽然你指出的接受的答案是更好的编程实践。希望将新类型的声明与这些类型的使用分开。例如,如果您为日处理编写了一个库,那么可以在库中包含枚举工作日。但是,为你的程序定义一个变量是一个不好的地方。随着时间的推移,程序员们发现这种分离很有价值。它通常帮助代码更具可读性

+0

我可以欣赏你在这个答案中带来的知识。我上面所代表的内容必须是定义和使用枚举的旧方式。谢谢。 – Mushy

+0

@https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/System_Administration_Guide/s1-swap-adding.html如果我的回答回答了您的问题,请接受它 –