理解全局变量的概念

use*_*000 1 c

如果我们有一个全局定义的变量"x"和一个函数内具有相同名称"x"的另一个变量.当我们打印"x"的值为什么我们总是得到函数内部赋值的值?我们有什么方法可以打印全局变量值.

int x=8;
void testCode()
{
    int x=2;
    printf("%d",x); //prints 2
}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ata 5

在其他语言中,是的.在C中,无法访问同一范围内的全局.有一种方法可以声明嵌套作用域(请参阅其他答案),这样可以访问非静态全局,但不建议这样做 - 不要这样做.如果要获取全局变量,请不要使用同名的局部变量将其隐藏.