C语言中关键字static、extern和auto的作用总结

本文深入探讨了C++编程中auto、static和extern关键字的使用场景和区别,解释了它们如何影响变量和函数的存储类型、作用域及链接属性,为读者提供了清晰的理解和实践指导。

1首先说一下auto自动存储类型,一般我们很少在程序中显示申明变量为auto类型。因为代码块中的变量缺省情况下就是这种类型,这种类型的变量存放于堆栈中,也就是说只有程序执行这些代码块(一对{}之间的语句)时这种自动变量才会被创建,代码块执行结束后自动变量便被释放。

2、static关键字是我们在程序中经常使用的,static关键字的用法比较复杂,当用于不同上下文环境时,static关键词具有不同的含义。

当static关键字用于函数定义或者是用于代码块之外的变量申明时,static关键字是用来修改标识符的链接属性,将标识符的链接属性从external修改为internal,标识符的存储类型和作用域不会改变。申明为这种类型的变量和函数只能在源文件内被访问。

当static关键字用于代码块内部的变量申明时,static关键字用来修改变量的存储类型,将变量的存储类型从自动变量修改为静态变量,静态变量和自动变量的区别在于静态变量在代码块执行前就已经创建,并且在整个程序运行期间一直存在并不会在代码块执行后被释放。虽然静态变量一直存在单它不能被其他函数所应用。

     3、extern关键字的作用指定一个函数或者变量的链接属性,指定extern链接属性的标识符可以访问在其他任何位置定义的这个实体。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

旋转的艺术

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

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

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

打赏作者

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

抵扣说明:

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

余额充值