对一个数据的定义,需要去定义它的两种属性:数据类型和存储类型。
对于数据类型主要有:
- int
- char
- long
- float
- double
对于存储类型有这四种:
-
auto
-
static
-
register
-
extern
平时使用的时候一般不标明存储类型,而存储类型主动是为auto,自动变量,在函数内去定义。
如果定义一个数据它为静态局部或外部整形变量那就是:
static int a;
变量分为局部变量和全局变量
按作用域角度来分
从++局部变量++中采用的存储类别来说有三种:
- 自动变量,也就是动态局部变量(auto)
- 静态局部变量(static)
- 寄存器变量(register)
从++全局变量++中采用的存储类别来说分为两种。
- 静态外部变量(static)
- 外部变量,非静态的(extern)
按变量的生存周期来分
从**++动态存储++**中采用的存储类别来说有三种:
- 自动变量(auto)
- 寄存器变量(register)
- 形式变量
从**++静态存储++**中采用的存储类别来说分为三种。
- 静态外部变量(static)
- 静态局部变量(static)
- 外部变量(extern)
从变量存储的位置来分
从++局部变量++中采用的存储类别来说有三种:
- 静态局部变量(static)
- 静态外部变量(static)
- 外部变量(extern)
++从内存中动态存储区:++
自动变量和形式参数
++从CPU中的寄存器:++
寄存器变量(register)