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