学习目标:
掌握局部变量和全局变量
学习内容:
1、 变量的赋值
1.定义的时候初始化
int a = 4;
2.先定义,后初始化
int a; //里面是一个随机值
a = 4;
2、 局部变量和全局变量
1. 所谓的局部就是这个变量只能在某个特定的范围内有效
2. 所谓的全局就是这个变量在整个工程项目都有效
3、 局部变量和全局变量的区别
1.作用域不同:全局变量的作用域为整个程序,而局部变量的作用域为当前循环或函数等;
2.内存存储方式不同:全局变量存储在全局数据区,局部变量存储在栈区;
3.生命周期不同:全局变量的生命周期和主程序一样,随程序的销毁而销毁。局部变量在函数内部或循环内部,随函数的退出或者循环的退出就不存在了。
4.使用方法不同:全局变量在声明后程序的各个部分都可以用到,但是局部变量只能在局部使用,函数内部会优先使用局部变量再使用全局变量(就近原则)。
注意:
- 局部变量可以与全局变量重名,但是局部变量会屏蔽全局变量。
- 变量分为全局和局部,局部变量又可以称为内部变量。由某对象或某个函数所创建的变量,通常为局部变量,只能被内部引用,而无法被其他对象或者函数引用。
- 全局变量既可以是某对象函数创建,也可以是在本程序任何地方创建
- 全局变量作用域只能往下,不能往上。
- 全局变量本文件中定义,在另一个文件中调用之前,先进行声明
extern int func_a;//声明这个变量是在别的文件中
4、 定义位置
局部变量在函数体内定义 ,运行到该函数的时候才给这个变量指定和申请内存空间。
全局变量在函数体外定义,在程序开始运行时,就给这个变量申请内存空间
5.优缺点
全局变量: 在所有的函数内部都可以访问;内存空间直到程序结束才会释放:提高程序运行效率,尽量避免使用全局变量
局部变量:只能在函数内部使用;在栈空间申请,函数返回时,就会释放内存。
6.值
局部变量如果不赋值,那么结果是随机值。
全局变量如果不赋值,那么结果就是为0。
学习时间:
2021/7/16星期五