Skip to content

局部和全局变量

局部变量

  • 定义在代码块{}里面的变量称为局部变量(Local Variable)

  • 局部变量的作用域 (作用范围) 仅限于代码块{}

    • 离开该代码块{}是无效的
    • 离开代码块{}后,局部变量自动释放
  • 示例代码:

c
#include <stdio.h>

// 函数定义
void my_add(int a, int b) {
    // a, b, res 是局部变量,只能在 my_add 内部使用
    int res = a + b;
}

int main() {
    // 函数调用
    my_add(10, 20);
    // 函数外部无法使用函数内的局部变量,下面代码是错误的
    printf("%d, %d, %d\n", a, b, res);

    return 0;
}

全局变量

  • 在所有函数外部定义的变量称为全局变量(Global Variable),它的作用域默认是整个程序,也就是所有的源文件
  • 示例代码:
c
#include <stdio.h>

// 函数外定义的变量为全局变量,定义完,所有地方都能使用
int a = 10;

int main() {
    // 使用全局变量
    printf("a = %d\n", a);

    return 0;
}