当前位置:网站首页>如何描述变量:存储类、生命周期,作用域、链接属性
如何描述变量:存储类、生命周期,作用域、链接属性
2022-07-16 14:35:00 【天糊土】
可以根据一个变量的存储类、作用域、链接属性、生命周期来描述该变量。
其中,存储类决定了生命周期,作用域决定了链接属性。
存储类
存储类表明变量在哪里存储。见博文Linux下C语言程序的内存布局_天糊土的博客-CSDN博客
作用域
作用域表明变量起作用的范围。包括:
(1)代码块作用域,即花括号之内的一段代码。
(2)函数原型作用域。
(3)文件作用域,即在所有函数之外定义的变量,从它定义到该文件结尾处都是可见的,也叫全局变量。
链接属性
链接属性,是指多个文件之间是否共享变量。
链接属性,包括空链接、外部链接、内部链接。
空连接表示只允许变量所在的函数原型或者代码块使用。
文件作用域的变量可能具有外部链接或者内部链接,具有外部链接的变量可以在一个多文件程序的任何地方使用(用extern修饰),具有内部链接的变量可以在一个文件的任何地方使用(用static修饰)。
生命周期
生命周期表明什么时候为变量分配与收回内存。
生命周期包括静态存储时期、自动存储时期:
静态存储时期,表示该变量在程序执行期间一直存在。
自动存储时期,表示在程序进入定义这些变量的代码块时,才会为这些变量分配内存,退出该代码块时,分配的内存将被释放;
边栏推荐
猜你喜欢
随机推荐
STM32 - timer interrupt experiment
《遥远的救世主》遵守客观规律(五)——文化属性
三种“榨干”企业装置服装ERP预算的情况
Leetcode48. 旋转图像
【Ucos-III源码分析】——内存管理机制
【golang】cannot unmarshal xxx “ into Go struct field xxx of type xxx
《遥远的救世主》遵守客观规律(六)——文化属性
【Ucos-III源码分析】——等待多个内核对象
844. 比较含退格的字符串
Things to do
Typora更换MarkText,Mark Text下载,MarkText调出工具栏和大纲栏、设置文本编辑区宽度、编辑快捷键。
[原创]移远RM500U-CN模组驱动移植
【產品人衛朋】2022年產品人必備的13個設計類網站(1.0版)
【golang】cannot unmarshal xxx “ into Go struct field xxx of type xxx
【C语言进阶】⑨动态内存分配知识总结 超详细
【产品人卫朋】2022年产品人必备的13个设计类网站(1.0版)
Error :Could not decode ... With “UTF-8“-encoding. Editing not possible
北京华联BHG Mall持续发力,BHG DAY引领城市消费新热潮
深圳某游戏研发公司给每个工位都装监控,网友:堪比坐牢!
uCOS-iii学习笔记(11)——任务信号量和任务消息队列



![[graduation project] network public opinion hotspot analysis system based on Emotional Analysis](/img/b6/c297f9b81446d8b2d0220c5f8774b5.png)





