关于C语言关键字:register与static详解

本文详细解析了寄存器、内存区域(如栈区、堆区和静态区)的特点及应用,同时介绍了static关键字的作用及其对变量生命周期的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键字:register  (建议将变量存到寄存器)ex:register int a

这里解释一下寄存器(寄存器是集成到CPU上的)

区域特点
寄存器内存小,速度快,造价高
高级缓存内存小+,速度相对慢
内存内存大,速度相对更慢,造价低
硬盘内存大+,速度更慢,造价低
网盘内存大++,免费

总之就是从寄存器到网盘,速度越来越低,内存越来越大,造价越来越低。

关键字: static

(修饰变量和函数)ex:static int a;static int add();

函数和全局变量本身具有外部链接属性;可以在外部起作用

static修饰后变成了内部链接属性;只能在本文件起作用

注意:感觉上作用域变小了,实质是外部链接属性和内部链接属性的变化。

修饰局部变量后不会销毁(储存在静态区的变量生命周期和程序的生命周期相同),且只起第一次作用。修饰后变成静态局部变量。总结:只能在本源文件使用,其他源文件无法使用(即无法成功用extern声明)。

这里解释一下内存()

栈区存放:局部变量,形参
堆区动态内存开辟
静态区存放:静态变量,全局变量

只是储存区域发生变化,作用域依然是局部变量。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绅士·永

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值