【发布时间】:2014-04-17 07:45:06
【问题描述】:
阅读Nested structures,我意识到在另一个结构中声明的结构与包含结构的范围相同。我认为它仅适用于包含结构。我从这个link 得到了这个印象。它说有 4 个命名空间,其中一个是结构的成员。我“从逻辑上”推断出内部结构仅在外部结构范围内。
任何人都可以提供标准的参考,以了解在这种情况下范围规则的确切工作原理吗?以及允许内部结构在包含结构之外可见的任何理由?如果它是可见的,为什么不直接在外面声明结构......
问题 2:对于术语,当我提供结构的成员时,说
struct out{
int a, b;
char c, d;
struct in{
int a, b;
}e;
};
我是否为struct out 和struct in 提供了一个定义;或者我是否为两者都提供了声明?我了解函数和原始数据类型的区别,但这里对于 struct s 不是很清楚。
编辑:我刚刚在 SO:Nested structures in C and C++ 上找到的有用链接。
但它没有提供任何理由。现在我怀疑是否有一个用于 C...
【问题讨论】:
-
+1 用于进行研究并尝试更深入地挖掘语言。