Assuming you mean the 'struct color c_aqua' bit, this is absolutely required in C (though not in C++). The usual trick in C to avoid the need to retype the 'struct' keyword is to use a typedef:
I think thats a common C++ thing as well using typedef, I've seen a lot of people using it alot.
It's quite pointless in C++ and not common at all in idiomatic code.
In C, struct and enum have their own "namespaces" (no relation to the C++ concept of that name), hence the need to prefix their use. Typedefs go into the enclosing scope/namespace which is why the typedef removes the need to use the prefix. In C++, structs, classes, and enums are all automatically imported into the enclosing namespace though the prefixed use is still allowed for backwards compatibility reasons (and a few esoteric corner cases).
Maybe you've just seen lots of old C code that was ported to C++? Or you might be thinking of uses in templates to disambiguate dependent types, though that should always be spelled 'typename' in C++03 or later code. Or some other use of typedef.