Q:

Why is C struct tm not as typedef?

I am just wondering out of curiosity, why is in C time structure 
struct tm

used as this and not with typedef. This way I always need to write struct tm, to have a correct code. A lot of structures are "typedefed", why not this one?

A:

Because it would be rather rude to pollute the general namespace with an unnecessary typedef when the language has a separate namespace for struct tags. If you really want a typedef to hide the fact that it's a struct, you can easily provide one yourself without forcing it on the rest of us.

A lot of structures are "typedefed", why not this one?

I don't know why you say that; there are no typedefed structs in the C library. FILE is a typedef, but not necessarily a struct.
Maybe you mean that there are a lot in other bodies of code. That's because some people, like yourself, think that namespace pollution is a good idea for some reason. The C library authors don't.

