如:P调用Q,Q调用R R的活动记录 Q的活动记录 P的活动记录
R的活动记录 Q的活动记录 P的活动记录 如:P调用Q,Q调用R ... ...
3.堆分配 由于动态变量表示的数据对象,它的长度 个数都有可能在执行中改变,即在其生存期中 动态改变,就不可能在栈上为这样的对象作分 配。 出现下列情况时,必须用堆式分配 (1)单元活动结束后,局部变量的值还需保留 2)调用单元与被调用单元的生存期不满足 嵌套关系,即出现交叉现象
3. 堆分配 由于动态变量表示的数据对象, 它的长度、 个数都有可能在执行中改变, 即在其生存期中 动态改变, 就不可能在栈上为这样的对象作分 配。 出现下列情况时, 必须用堆式分配: (1)单元活动结束后, 局部变量的值还需保留; (2)调用单元与被调用单元的生存期不满足 嵌套关系, 即出现交叉现象
4.存储空间的组织 代码 静态数捉 栈 堆
4. 存储空间的组织 代码 静态数据 栈 堆
第三节ˇ静态分配 O. FORTRAN语言的特点 1.模块结构 个主程序段和若干个(可以是0个)辅 程序段组成辅程序段可以是子程序、函 数段或数据块;各段可以独立编译。 2.说明语句无严格语序,且具有显式说 明和隐式说明
第二节 静态分配 O. FORTRAN语言的特点 1. 模块结构 一个主程序段和若干个(可以是0个)辅 程序段组成; 辅程序段可以是子程序、函 数段或数据块;各段可以独立编译。 2. 说明语句无严格语序, 且具有显式说 明和隐式说明