问题
单项选择题
若一个程序语言可以提供链表的定义和运算,则其运行时的()。
A.数据空间适合采用静态存储分配策略
B.数据空间必须采用堆存储分配策略
C.指令空间需要采用栈结构
D.指令代码必须放入堆区
答案
参考答案:B
解析:
链表一般使用动态分配策略。数组空间往往使用静态存储分配策略。
内存中供用户使用的存储空间可以分为三部分:程序区、静态存储区和动态存储区。动态存储区又分为栈区和堆区。
程序区:用来存放程序代码的内存区。
静态存储区:用来存储程序中的全局变量和局部变量。
栈区:程序运行过程中存放临时数据,可用来保存函数调用时的现场和返回地址,也可以用来存放形式参数变量和自动局部变量等。
堆区:一个自由存储区域,程序通过动态存储分配函数来使用它,用于诸如链表等的存储。