C语言-全局变量与局部变量
某些问题要想彻底解决,只能仰仗技术革新和顶层设计的突破。就好比汽车出现前,你无论如何改进饲料配方和养殖技术,也无法培养出一匹时速100公里的马。正因为在认识问题这个阶段总是草草行事,我们才会经常在解决问题阶段做无用功。
目录
一、一般单片机工程结构
-
报错原因:
- 变量重复定义
- 函数重复定义
- 程序:那数据----处理数据—抛数据
-
份文件监理工程后为什么可以尽量避免报错了?
变量和函数作用域起作用了(可以出现同名的变量名称和函数名称)
二、变量作用域
-
分类
-
全局变量
整个工程可用
-
局部变量(可用范围)
只要全局不可用,那么这个变量就是局部变量
- .c文件里面可用的局部变量
- 函数里面可用的局部变量
- 代码块里面可用的局部变量
-
-
区别
作用域不同
-
造成原因
三、全局变量与局部变量
1、定义
全局变量和局部变量的定义
-
全局变量定义
- 在任意的.c文件定义一个变量
- 在对应头文件进行声明
-
局部变量定义
-
本.c文件可用
定义在这个.c文件的开头
-
本函数可用
定义在函数内部
-
代码块局部变量
定义在代码块里面的变量
-
-
示例
写一个函数,实现任意三个数的相加
2、存在的意义
生命周期
- 全局变量和.c文件变量是在整个工程运行期间一直存在的
- 函数内的变量,只有在函数执行的时候存在
- 代码块里面的变量,只有在代码块运行的时候存在
-
???既然全局变量这么好用,我们干脆把所有变量声明成全局变量不香码?
不行,原因:
-
工程大的时候变量会非常多
- 出现重名
- 占运存
-
-
全局变量和局部变量存在的意义了吗?
合理的使用运存
四、函数的形参
-
注意
函数的形参是属于函数的局部变量,生命周期随着函数的使用而分配,随着函数的结束而清除
-
一个好的编程习惯
使用指针
五、示例
连接:
https://download.youkuaiyun.com/download/dulin1990/85221416
着函数的结束而清除
-
一个好的编程习惯
使用指针
五、示例
连接:
https://download.youkuaiyun.com/download/dulin1990/85221416