第9章C语言与程序设计补遗精要.ppt

第9章C语言与程序设计补遗精要

9.1 变量的存储类别与生命期   1. 生命期的概念   从变量生命期(即由创建到撤消)来分,可以将变量分为静态存储变量和动态存储变量两类:   (1) 静态存储变量:在程序运行时固定分配存储空间的变量。   (2) 动态存储变量:在程序运行中根据需要动态分配存储空间的变量。   程序运行时对应的内存分配示意如图9-1所示。 图9-1 程序运行时对应的内存分配示意   全局变量和静态局部变量(static变量)存放在静态数据区,程序开始执行时给它们分配内存单元,程序执行结束时再释放这些内存单元。也即在程序的整个执行过程中这些变量都存在(有自己的内存单元),它们的生命期为程序的整个执行过程。   动态数据区存放自动局部变量、形参变量和用于中断现场的保护数据。自动局部变量是指未加staic声明的局部变量;形参变量是指函数的形参。在函数调用时为自动局部变量和形参变量在动态数据区分配内存单元,当函数执行结束时释放这些内存单元。也即在函数的整个执行过程中这些变量都存在,它们的生命期为函数的整个执行过程。   在C语言中,每个变量都有两个属性:数据类型和数据的存储类别。前面各章节中,我们在定义变量时只涉及它的数据类型,其实还可以定义变量的存储类别,它决定这个变量的存放位置(是静态数据区还是动态数据区)和生命期。   变量定义的一般形式如下:     [存储类别] 类型标识符

文档评论(0)

1亿VIP精品文档

相关文档