ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Is that valid C? I know many compilers will accept it, but are they correct to do so?
When I was fixing some code to make it compile with a newer version of GCC, I needed to remove "typedef" from several constructs that I'm pretty sure were equivalent to what you have above.
Sure it is valid, straight out of the K&R bible. I prefer defining types to declaring structures in most instances, I find it most convenient.
Once one has the type defined, declaring instances and initializing them becomes quite simple. I also prefer to place type definitions in header files but that is a style preference.
K&R isn't ansi though, typically if you want to typedef a struct on the same line you either have an anonymous struct or another name for the struct
Agreed. I normally use both the type name and variable name when defining types just as a matter of course because I like to see the type name in symbolic debuggers and use the variable name when declaring instances. Again, that's pretty much a style preference except when I need the type to refer to itself within the type definition (the linked list thing).