1 变量的定义三方面: (1)数据类型:占用内存空间大小(int,double等) (2)作用域:有效性范围 (3)存储类型:在内存的存储方式
- 这里又引入一个概念-“生存期”,即变量在程序中的建立和消亡时间
存储类型决定变量的生存期和作用域
2 在内存中,供用户使用的三种空间:
(1)程序区:存放代码 (2)静态和动态存储区:存放数据 a.静态存储区:在编译时就分配了内存空间,在整个程序执行中,内存单元一直保持到程序结束才释放 b.动态存储区:只有当程序执行到变量所在的函数被调用时,系统才为其分配内存空间,函数调用结束,变量即被释放,
| 何时分配内存空间 | 何时释放 | 生存期 | 静态存储区 | 在程序编译时 | 程序结束 | 整个程序的运行期间 | 动态存储区 | 只有当程序执行到变量所在的函数被调用时 | 函数调用结束 | 函数的调用期间 |
3 变量的分类 (1)局部变量:在一个函数内部或者某个复合语句内部定义的变量 (2)全局变量:在所有函数外部定义的变量。(默认初值为0)
| 作用域 | 存放区域 | 特点 | 局部变量 | 局限于定义它的函数或复合语句 | 动态存储区 | 在不同的函数中允许同名, 如果变量名相同,则当前局部变量优先 | 全局变量 | 从定义变量的位置开始到源程序结束 | 静态存储区 |
- 若局部变量与全局变量同名,则局部变量优先,即在该函数或复合语句内,全局变量不起作用;
- 如果要在变量定义之前使用它,需用extern加以声明可扩展全局变量作用域;
|
|