全局变量和局部变量的区别
时间: 2024-06-13 08:06:25 浏览: 133
全局变量和局部变量是两种不同的变量类型,它们的主要区别在于作用域和使用方式。
1.作用域:
全局变量的作用域是从定义位置开始到整个程序结束,可以在程序的任何地方被访问和修改。而局部变量的作用域只在定义它的函数内部,函数外部无法访问。
2.使用方式:
全局变量在声明后程序的各个部分都可以使用,但是局部变量只能在局部使用。在函数内部,如果有一个局部变量和一个同名的全局变量,函数会优先使用局部变量,而不是全局变量。这种情况下,局部变量会屏蔽全局变量。
下面是一个C语言的例子,演示了全局变量和局部变量的区别:
```c
#include <stdio.h>
int global_var = 10; // 全局变量
void func()
{
int local_var = 20; // 局部变量
printf("global_var = %d, local_var = %d\n", global_var, local_var);
}
int main()
{
func();
printf("global_var = %d\n", global_var);
return 0;
}
```
输出结果为:
```
global_var = 10, local_var = 20
global_var = 10
```
可以看到,函数内部的局部变量local_var只在函数内部有效,而全局变量global_var可以在整个程序中使用。
阅读全文