变量的4种存储类型:auto,static,exturn,register
数据类型有:int float等
存储类型有:自动变量(auto)、静态变量 (static)、外部变量(extern)以及寄存器变量(register)
auto: 函数中所有的非静态局部变量。
register: 一般经常被使用的的变量(如某一变量需要计算几千次)可以设 置成寄存器变量,register 变量会被存储在寄存器中,计算速度远快于存在内存 中的非 register 变量。不能是全局变量
static: 在变量前加上 static 关键字的变量。static变量只初始化一次
extern: 把全局变量在其他源文件中声明成 extern 变量,可以扩展该全局变 量的作用域至声明的那个文件,其本质作用就是对全局变量作用域的扩展
变量的作用域和生存周期
存储类别 | 存储期 | 作用域 | 声明方式 |
---|---|---|---|
auto | 自动 | 块 | 块内 |
register | 自动 | 块 | 块内,使用关键字register |
static(局部) | 静态 | 块 | 块内,使用关键字static |
static(全局) | 静态 | 文件内部 | 所有函数外,使用关键字static |
extern | 静态 | 文件外部 | 所有函数外 |