对变量存储类型及作用域的小结

本文详细介绍了局部变量与全局变量的概念及使用方式,并深入探讨了extern与static关键字在变量声明中的应用,帮助读者理解不同存储类型的变量特性。

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

 

     局部变量指函数内部定义的变量,其只在一个函数内部起作用,即函数外部的其它函数不能引用该变量。局部变量缺省存储类型为auto,属于动态存储类型。在该函数完成一次调用后即释放该变量的值。

      全局变量指在程序内所有函数外部定义的变量,它可被程序中的所有函数调用。全局变量的缺省存储类型为static,即静态存储类型,存储于内存中的静态存储区。在该程序开始执行时分配存储区,直到程序结束释放。

 

       extern用法

       一个全局变量的作用域为从定义之处到程序结束。而如果想在程序一开始就能调用该变量,可以像函数的声明那样,在函数开始处做一“声明”----用extern+变量类型+变量名   的形式声明。

        若一个程序包括多个文件,且都要用到一个外部变量,不能分别在两个文件中一一声明,而应该在一个文件中定义,而在其它要调用该变量的文件中用extern进行声明即可。

       static用法

       而如果不想一个文件中的外部变量被其它文件调用,则用static作声明即可。形式为 static+变量类型+变量名。

       此外可在局部变量前加static来修饰,使一个局部变量在当该函数被执行一次后,该变量的值并不释放。

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值