局部和全局变量
局部变量
定义在代码块
{}
里面的变量称为局部变量(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;
}