Although I have experience with Enums in Java, typedef and Objective-C / C style enums are new to me. I can't seem to grasp the difference between enums with the names declared in the beginning and enums with the names not declared. For example:
typedef enum Months {JAN, FEB, MAR, APR}
Months;
vs.
typedef enum {JAN, FEB, MAR, APR}
Months;
is there a reason to ever pick the former form over the latter? The former seems to be redundant by stating 'Months' twice.
This question Looks very similar but it doesn't have the name at the end so I don't know if it is answering the same question.