These code snippets come from a Dhrystone test we are using to evaluate ARM MDK and some ARM devices. The program works well but I have run across a construct that I do not understand. I hope some of you experts can point out what I'm missing.
In a header file an enum- typedef enum {Ident_1,Ident_2,Ident_3,Ident_4} Enumeration;
In main() there is a declaration- Enumeration Func_1(); /* forward declaration since Enumeration may not be int */
I have looked in my 'C' books and googled enum and Enumeration but failed to find any construct examples such as this. Of course I found the normal 'day of the week' and 'color' examples in many locations.
I have no problems with the code. I just don't understand the constructs.
Any guidance would be appreciated. Bradford
Well, I'm not sure that the construct is standards-compliant (C90 or C99.) But the meaning is clear. Rather than declaring an enumeration type like this:
enum Enumeration {Ident_1,Ident_2,Ident_3,Ident_4};
and refer to it later as enum Enumeration, the author of the code chose to declare an anonymous enumeration and assign to it the type name Enumeration with the typedef. The return value of the function is of the type Enumeration.
Thank you Mikei. Your explanation makes perfect sense to me. Thank you for clearing the confusion from my pea size brain. Bradford
I keep forgetting to correct the name to Mike. The helpful feature of the browser keeps multiplying the typo...
Sorry Mike about the name mis-spell. Please blame it on my dyslexia of the fingers. Thanks again for the enum explanation. Bradford