变量属性包括以下四种:
1)数据类型
2)存储类别:C++允许使用auto,static,register,extern 4种存储类别。
3)作用域:指在程序中可以引用该变量的区域。
4)存储期:指变量在内存的存储周期。
※extern只能用来声明已定义的外部变量,而不能用于变量的定义。
表格:变量的作用域和存在性
变量存储类型 |
函数内 |
函数外 |
||
作用域 |
存在性 |
作用域 |
存在性 |
|
自动变量和寄存器变量 |
√ |
√ |
× |
× |
静态局部变量 |
√ |
√ |
× |
√ |
静态外部变量 |
√ |
√ |
√(限本文件) |
√ |
外部变量 |
√ |
√ |
√ |
√ |