C标准定义了两个标识符具有相同的范围,当且仅当它们的范围终止于同一点时。并继续说明:
结构,联合和枚举标记的范围在声明标记的类型说明符中标记出现之后开始。每个枚举常量都具有在枚举器列表中定义枚举器出现之后开始的范围。任何其他标识符的范围都在其声明者完成之后开始。
这是否意味着正式调用两个标识符以具有相同的范围,即使它们的范围的开头不匹配?
答案 0 :(得分:5)
是的,这是一种合理的思考方式。否则,没有两个标识符具有相同的范围!
{
int a;
int b;
}
在上文中,a
和b
的范围从不同的点开始,但我们当然希望将它们视为在同一范围内!