I can refer C struct with its name. Anyway it looks it doesn’t have run-time identity. I mean, there’s no symbol for the struct. It’s been referred from header files. So I think I can put struct of same name with different fields over multiple .c files without name duplication.
Am I right? Or C struct has it’s symbol, so should I avoid duplicated names?
PS.
I’m sorry for unclear terms and question, but currently, I can express this only like this. I will update my question as I get more ideas.
Struct tags do not have any linkage (in particular, they don’t have external linkage), so you don’t have to worry about namespace clashes between different translation units. In fact, their scope behaves pretty much (exactly?) the same as variable scope, so you can even have them be local to a particular function or even a particular block in a particular function.