文章目录
全局变量和局部变量的区别
首先,我们通过C语言程序示例来直观展示全局变量和局部变量的区别:
#include <stdio.h>
// 全局变量定义(在整个程序中都有效)
int globalVar = 10; // 假设这是全校的学生总数
void functionExample() {
// 局部变量定义(只在本函数内有效)
int localVar = 5; // 假设这是当前班级的学生人数
printf("全局变量(全校学生数):%d\n", globalVar);
printf("局部变量(本班级学生数):%d\n", localVar);
// 对局部变量的操作不影响全局变量
localVar++;
printf("更新后的局部变量(本班级学生数+1):%d\n", localVar);
}
int main() {
// 在main函数中可以直接访问全局变量
printf("在main函数中访问全局变量:%d\n", globalVar);
// 在main函数内部定义局部变量(不影响全局变量globalVar)
int anotherLocalVar = 7;
printf("main函数内的局部变量(另一个班级学生数):%d\n", anotherLocalVar);
functionExample(); // 调用函数,显示全局变量和局部变量
return 0;
}
现在,我们将这个编程概念转换成容易理解的例子:
想象一个学校,有一个全校都知道的数字——全校学生总数,这个数字就像全局变量,不论哪个班级老师或者校长,只要想知道全校学生总数,随时都能查看到。
然后,每个班级也有自己的小计数器,记录本班有多少名学生,这个小计数器就像局部变量,只在这个班级内部有用,别的班级看不到也不影响他们的计数器。
例如,全校有1000名学生(全局变量),四年级一班有50名学生(局部变量)。当四年级一班新转来一名同学时,他们班级内的计数器会加1变成51人,但这并不会改变全校的总学生数。同样,其他班级统计自己班级的人数时,也是使用各自班级的计数器(局部变量)。