问题 单项选择题

若一个程序语言可以提供链表的定义和运算,则其运行时的()。

A.数据空间适合采用静态存储分配策略

B.数据空间必须采用堆存储分配策略

C.指令空间需要采用栈结构

D.指令代码必须放入堆区

答案

参考答案:B

解析:

链表一般使用动态分配策略。数组空间往往使用静态存储分配策略。

内存中供用户使用的存储空间可以分为三部分:程序区、静态存储区和动态存储区。动态存储区又分为栈区和堆区。

程序区:用来存放程序代码的内存区。

静态存储区:用来存储程序中的全局变量和局部变量。

栈区:程序运行过程中存放临时数据,可用来保存函数调用时的现场和返回地址,也可以用来存放形式参数变量和自动局部变量等。

堆区:一个自由存储区域,程序通过动态存储分配函数来使用它,用于诸如链表等的存储。

解答题
问答题 简答题