C语言-变量的存储类型
0 存储类型是指变量占用内存空间的方式,也称为存储方式。从内存分配的时间上,可分为“静态存储”和“动态存储”类。
0.1 静态存储:在程序前,系统(编译器)自动分配内,程序结束后,系统(编译器)自动释放。
0.2 动态存储:在程序执行时;根据需要手动分配内存,使用完成后再手动释放。
1 C语言中,变量的存储类型具体有以下4种:auto 自动(动态存储)、register 寄存器 (动态存储)、static 静态(静态存储)、extern 外部(外部存储)
1.1 auto: 函数中所有非static局部变量
C支持auto int i;-C++不支持
C++支持auto i = 0;自动识别i为int型
1.2 register: 寄存器存储变量,提高访问效率
使用registrer的目的是让程序员把某个指定的局部变量放在计算机的某个硬件寄存器中而不是内存中。好处是提高运行效率(较内存而言,CPU访问内存更快)
C++优化:自动将计算量大的存为寄存器变量-无需定义;不可全局使用(CPU访问寄存器的速度比访问内存的速度快)
1.3 static:静态变量,只能初始化一次
将内部和外部的变量变成static的意义是不一样的
对于局部变量而言,static相较auto,程序执行时始终保持它的值(初始化操作只能在第一次执行的时候,如果不初始化默认为0)
1.4 extern: 外部存储变量,extern声明了程序中将要使用,但尚未定义的外部变量。
外部变量的作用域从定义处到文件结束
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)