什么是全局变量?

在C语言中,变量的作用域分为两种,一种是局部变量,它只在函数内部有效;另一种是全局变量,它在整个程序中都是有效的。全局变量是具有全局作用域的变量,可在整个程序的任何地方被访问和修改,可以通过定义全局变量来共享数据。

如何定义全局变量?

要定义一个全局变量,可以在所有函数外部定义变量。这样就可以在任何函数中使用它。定义全局变量的方式是在所有函数之外声明它。需要注意,全局变量的初始值默认为零。

下面是一个例子:

#include
// 声明一个全局变量
int global_variable;
int main()
{
    global_variable = 10; // 赋值操作
    printf("Global variable value: %d\n", global_variable);
    return 0;
}

如何修改全局变量的值?

全局变量在程序中是共享的,可以在一个函数中修改它的值,在另一个函数中读取其值。在函数中将变量标记为 extern,可以访问全局变量。

下面是一个例子:

#include
// 声明一个全局变量
int global_variable;
void func1();
int main()
{
    global_variable = 10; // 赋值操作
    func1();
    printf("Global variable value: %d\n", global_variable);
    return 0;
}
// 一个函数使全局变量加1
void func1()
{
    extern int global_variable;
    global_variable++;
}

在上面的例子中,全局变量 global_variable 初始值为10,函数 func1() 使之加1。在函数 main() 中,打印该变量的新值。

总结

全局变量在整个程序中都是有效的,需要注意它的初始值。通过定义全局变量,可以在函数间共享数据。如果需要修改全局变量的值,可以将变量标记为 extern,可以访问全局变量。