如果我们定义全局变量怎么办 int x;
函数的主体内部定义另一个变量int x;
。
函数'x'内部将始终引用局部变量'x'。现在,如果用户必须在非常函数内参考一个全局变量x,那么一个人如何实现?
由于您的问题被标记为" C",因此我会回答有关该语言的。其他语言可能会提供句法糖或机制来完成您想要的事情。
使用更大范围中存在的变量的名称定义变量称为阴影:内部定义 shadows 外部。
以下是一个示例:
int x = 42;
int main() {
int x = 0; // Here, `x` shadows the global `x`.
printf("%dn", x); // Prints '0'
}
在C中,无法获得阴影变量的值。
在样式计划中,阴影通常被认为是一种不良习惯,因为它使您的代码不太清晰和难以重构。