7-1 概念解析

it2023-09-12  66

七、存储类&作用域&生命周期&链接属性

7.1.1 存储类

(1)存储类就是存储类型,也就是描述C语言中变量在何种地方存储。 (2)内存有多种管理方法:栈、堆、数据段、bss段、text段…一个变量的存储类属性就是描述这个变量存储在何种内存段中。 (3)譬如:局部变量分配在栈上,所以它的存储类就是栈;显式初始化为非0的全局变量分配在数据段,显式初始化为0和没有显式初始化(默认为0)的全局变量分配在bss段。

7.1.2 作用域

(1)作用域是描述这个变量起作用的代码范围。 (2)基本来说,C语言变量的作用域规则是代码块作用域。意思就是这个变量起作用的范围是当前的代码块。代码块就是一对大括号{}括起来的范围,所以一个变量的作用域是:这个变量定义所在的{}范围内从这个变量定义开始往后的部分。(这就解释了为什么变量定义总是在一个函数的最前面)

7.1.3 生命周期

(1)生命周期是描述这个变量什么时候诞生(运行时分配内存空间给这个变量)及什么时候死亡(运行时收回这个内存空间,此后再不能访问这个内存地址,或者访问这个内存地址已经和这个变量无关了)的。 (2)变量和内存的关系,就和人(变量)去图书馆(内存)借书一样。变量的生命周期就好像我人借书的这段周期一样。 (3)研究变量的生命周期可

最新回复(0)