如果我们定义一个全局变量会怎么样
int x;
并在函数体内定义另一个变量 int x;
.
函数内部“x”始终引用局部变量“x”。现在,如果用户必须在函数内引用全局变量 x,如何实现这一目标?
最佳答案
Since your question is tagged "C", I'll answer about that language. Other languages may provide syntactic sugar or mechanisms to do what you want.
使用更大范围内存在的变量名称来定义变量称为遮蔽:内部定义遮蔽外部定义。
下面是一个例子:
int x = 42;
int main() {
int x = 0; // Here, `x` shadows the global `x`.
printf("%d\n", x); // Prints '0'
}
在 C 语言中,无法获取隐藏变量的值。
在样式计划中,阴影通常被认为是一种不好的做法,因为它会使您的代码不太清晰并且更难以重构。
关于c - 如何在函数体内引用与局部变量同名的全局变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46274555/