常量(只读变量 read-only-variable)
const int a=3 //常变量不可先声明存在,后赋值
变量的属性
作用域(scope)
存储期(storage duration)
静态存储期(static storage duration)
动态存储期(dynamic storage duration)
取决于存储方式
存储方式
系统对变量分配固定/动态的存储空间
变量的存储类别(storage class)
静态存储
动态存储
分为四种
自动(auto) 系统默认的动态存储方式
**静态的(static)**静态局部变量,函数执行完后函数内原值不消失,在其他函数内不可见
在不同文件中仅限于本文件引用,其他文件不引用:
在本文件中定义全局变量时加static 则可以仅被本文件使用
**寄存器的(register)**节约执行时间,优化编译系统可以自动放置
外部的(extern) 全局变量 从定义处开始到末尾,此前的函数如要使用该变量,需要用extern作外部变量声明
主函数首 extern int a,b;
extern不是用于定义变量的量 而是变量声明(已定义的外部变量)
在不同的文件中使用同一个变量:
在一个文件中定义int a=3;
在另一个文件中用extern a;
通过存储类别可以确定存储期和作用域