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