C语言中变量的作用域

局部变量的作用域:就是变量所在的局部范围 
#include 
int main()
{
    printf("Hello, World!\n");
    {
        int a=113;
    }
    printf("%d",a);
    return 0;
}

在这个代码中可以看到a是无效的,这代表着a被定义了但没有被使用,在大括号中的a的作用域只存在于大括号内,所以这个在大括号中的a和下面打印的a没有任何关系

而下面的a是因为在int main()中找不到a的值,所以导致程序报错

如果要解决这个问题,要么把a移到int main(){ }的里面来,要么把下面的printf移到a存在的大括号中去

#include 
int main()
{
    int a=113;
    printf("Hello, World!\n");
    {
    }
    printf("%d",a);
    return 0;
}
#include 
int main()
{
printf("Hello, World!\n");
{
int a=113;
printf("%d",a);
}
return 0;
}

 全局变量的作用域:整个代码都能使用
#include 
int a=113;      //全局变量
int main()
{

    printf("Hello, World!\n");
    {
        printf("%d",a);
    }

    return 0;
}

我们可以看到,在int main()上方定义了一个a,那么在这个代码里面,无论哪里需要a,a都能做出回应

你可能感兴趣的:(c语言)