The Arduino uses the GCC compiler, which is ISO 90 compliant so as westfw says, you get full support for the C language including structures and unions.
There is little clue to that in the Arduino documentation, perhaps so as not scare away beginners to programming. But so far the compiler has coped with every C and C++ construct that I have thrown into my sketches.
Yes, that is correct. Well, I'm glad to see it supports full C capabilities.
Can't live without structures and pointers
Thanks for clarifying