如何描述变量:存储类、生命周期,作用域、链接属性

可以根据一个变量的存储类、作用域、链接属性、生命周期来描述该变量。

其中,存储类决定了生命周期,作用域决定了链接属性。

存储类

存储类表明变量在哪里存储。见博文Linux下C语言程序的内存布局_天糊土的博客-CSDN博客

作用域

作用域表明变量起作用的范围。包括:

(1)代码块作用域,即花括号之内的一段代码。

(2)函数原型作用域。

(3)文件作用域,即在所有函数之外定义的变量,从它定义到该文件结尾处都是可见的,也叫全局变量。

链接属性

链接属性,是指多个文件之间是否共享变量。

链接属性,包括空链接、外部链接、内部链接。

空连接表示只允许变量所在的函数原型或者代码块使用。

文件作用域的变量可能具有外部链接或者内部链接,具有外部链接的变量可以在一个多文件程序的任何地方使用(用extern修饰),具有内部链接的变量可以在一个文件的任何地方使用(用static修饰)。

生命周期

生命周期表明什么时候为变量分配与收回内存。

生命周期包括静态存储时期、自动存储时期:

静态存储时期,表示该变量在程序执行期间一直存在。

自动存储时期,表示在程序进入定义这些变量的代码块时,才会为这些变量分配内存,退出该代码块时,分配的内存将被释放;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

天糊土

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

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

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

打赏作者

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

抵扣说明:

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

余额充值