变量的 4 种存储类型

存储类型:
总共有四种存储类型的变量,分别为自动变量(auto)、静态变量(static)、外部变量(extern)以及寄存器变量(register)。

auto - 函数中所有的非静态局部变量。(c语言可以指定类型如auto int a,c++编译器不能指定类型编译器会进行推导)

register - 一般经常被使用的的变量(如某一变量需要计算几千次)可以设 置成寄存器变量,register 变量会被存储在寄存器中,计算速度远快于存在内存 中的非 register变量.(现在已经不需要定义了,编译器会进行优化,注意寄存器没有地址,因此不能对register定义的变量取地址,否则该变量会降级为auto类型)

static - 在变量前加上 static 关键字的变量。

extern - 把全局变量在其他源文件中声明成 extern 变量,可以扩展该全局变 量的作用域至声明的那个文件,其本质作用就是对全局变量作用域的扩展。

变量的作用域和生存周期

在这里插入图片描述
局部静态变量在定义的函数里面可以直接使用,且只执行一次在创建局部变量时的赋值,如果没有赋值,就默认为0
存储期为静态的可以都可以通过指针,间接访问
extern int age = 0; 意思是定义了变量age,声明为extern

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值