C语言变量的作用范围
2016-05-11 10:07
513 查看
变量的作用范围
1 局部变量1.1 举例
1.1.1 形式参数
1.1.2 定义在函数体内的变量,也成为自动变量,由关键字auto说明,可以省略
1.1.3 定义在复合语句中的变量
1.2 定义在函数体内
1.3 使用栈的原理进行分配内存的
2 全局变量
2.1 定义在函数体外
2.2 全局变量不初始化将自动赋值为0
2.3 全局变量的作用域是从定义行开始的,到文件结束
3 局部变量与全局变量的关系
3.1 局部变量与全局变量同名时,在子函数内全局变量不起作用
4 变量的生命周期
4.1 局部变量
4.1.1 开始:函数被调用
4.1.2 结束:函数结束
4.1.3 局部变量被释放后,之前对应的内存空间成为公共区域
4.2 全局变量
4.2.1 开始:主函数执行之前
4.2.2 结束:主函数结束
4.3 关键字
4.3.1 auto:自动变量,局部变量
4.3.2 static:静态
4.3.2.1 加在局部变量之前
4.3.2.1.1 延长局部变量的生命周期到整个程序运行结束
4.3.2.1.2 原理:首先判断局部变量是否已经分配过空间,如果没有则进行分配;如果已经分配过了(上次调用函数后变量没有被释放),则不再分配空间。
4.3.2.1.3 用途
4.3.2.1.4 作用域还是在函数内部
4.3.2.2 加在全局变量之前
4.3.2.2.1 作用域为所在文件内部
相关文章推荐
- 如何组织构建多文件 C 语言程序(二)
- 如何写好 C main 函数
- 在 Fedora 中使用 FreeMind 介绍你自己
- Ruby中的变量学习总结
- 详解Lua中的变量相关知识点
- Lua和C语言的交互详解
- dos批处理文件中的变量小结
- 探索PowerShell(七) PowerShell变量
- VBScript教程 第四课VBScript变量
- 关于SQL 存储过程入门基础(基础知识)
- perl 变量 $/ 的用法解析 上下文为行模式时,$/ 定义以什么来区分行
- VBS教程:VBScript 基础-VBScript 变量
- Erlang语法学习笔记:变量、原子、元组、列表、字符串
- 基于MySql的扩展功能生成全局ID
- 关于C语言中参数的传值问题
- 简要对比C语言中三个用于退出进程的函数
- 深入C++中API的问题详解
- 基于C语言string函数的详解
- C语言中fchdir()函数和rewinddir()函数的使用详解
- C语言内存对齐实例详解