我可以用它的名字来引用C struct。无论如何,它看起来没有运行时标识。我的意思是,结构没有符号。它是从头文件中引用的。所以我认为我可以在不使用名称重复的情况下将多个.c文件放在不同字段的同名结构上。
我是对的吗?或者C struct有它的符号,所以我应该避免重复的名字吗?
PS。 对于不明确的条款和问题我很抱歉,但目前,我只能这样表达。我会在获得更多想法时更新我的问题。
答案 0 :(得分:7)
如果您在询问是否可以重复使用结构名称来表示不同翻译单元中的不同结构,则答案是肯定的。不过,我不会说这是好的想法。
答案 1 :(得分:2)
Struct标签没有任何链接(特别是它们没有外部链接),因此您不必担心不同翻译单元之间的命名空间冲突。事实上,它们的范围与变量范围几乎相同(完全相同),因此您甚至可以将它们作为特定函数的本地函数,甚至是特定函数中的特定块。