现实世界的数据描述
局部变量与全局变量
- 全局变量在程序的全部执行过程中都占用存储单元,而不仅在需要时开辟;
- 局部变量在调用时由所在的函数临时分配存储单元,而在函数调用结束后存储单元马上释放;
变量的存储方式和生存周期
从变量的作用域,变量分为全局和局部;
变量的存储有两种不同的方式:静态存储和动态存储。静态,指由系统分配固定的存储空间的方式;动态,则程序运行期间根据需要进行动态的分配。
动态存储区域主要存放以下数据:
1)函数形式参数,在调用函数时给形参分配存储空间;
2)函数中没有用关键字static声明的变量,即自动变量;
3)函数调用时的现场保护和返回地址;
每个变量和函数都有两个属性:数据类型和数据的存储类别;
C的存储类别包括:自动的(auto)、静态的(statis)、寄存器的(register)、外部的(extern)。根据变量的存储类别即可知变量的作用域和生存周期;
局部变量的存储类别
1)auto,函数的形参和函数或复合语句中定义的局部变量
2)statis,函数的局部变量值在函数调用结束后不消失,而是继续保留原值,即占用存储单元不释放。
静态局部变量属于静态存储类别