关于堆式分配,下面说法正确地是()。A、属于动态分配B、属于静态分配C、适用于可递归调用、具有分程序结构的语言D、适用于允许为变量动态申请内存空间的语言

题目

关于堆式分配,下面说法正确地是()。

  • A、属于动态分配
  • B、属于静态分配
  • C、适用于可递归调用、具有分程序结构的语言
  • D、适用于允许为变量动态申请内存空间的语言

相似考题
更多“关于堆式分配,下面说法正确地是()。A、属于动态分配B、属于静态分配C、适用于可递归调用、具有分程序结构的语言D、适用于允许为变量动态申请内存空间的语言”相关问题
  • 第1题:

    一种语言中不同种类的变量往往采用不同的存储分配策略,C语言中的全局变量和静态变量采用静态分配,而自动(Auto)类变量采用(30)。

    A.最佳分配

    B.首先分配

    C.堆式分配

    D.栈式分配


    正确答案:D
    解析:在目标程序运行时,目标代码所引用的数据对象在内存空间中。因此,在编译阶段产生目标时,要把目标代码所引用的数据对象映射到内存空间上,在运行时,再分配给需要的内存单元,这个过程称为存储分配。分配的对象有简单数据类型(如整、实和布尔型等)、结构数据类型(如数组和记录等)和连接数据(如返回地址、参数等)。由于各种语言的语义不同,主要是名字的作用域和生存期不同,因而对存储空间的组织和采用的存储分配策略也不同,可分为静态和动态两大类。把过程或函数的一次执行叫一个活动,把一个活动所需要的存储空间组织在一起构成一个活动记录(有的书上称数据区),不同语言的活动记录结构是不同的。如果在编译时能确定目标程序运行中所需的全部数据空间的大小及相互位置,那么,能在编译时安排好目标程序运行时全部数据对象在存储空间中的位置,且不随目标程序的运行而改变,则称这种分配为静态存储分配,如先于FORTRAN77版本的FORTRAN语言采用这种分配策略。如果一个程序语言允许递归过程、可变数组或动态数据结构,那么,就需采用动态存储分配策略,它有两种方式:栈式和堆式。栈式动态存储分配策略适用于组织PASCAL、C、ALGOL之类的语言的活动记录。每当调用一个过程产生一个活动时,它所需的活动记录就分配在栈顶。每当过程的一个活动结束时,就释放栈顶的活动记录。如果一个程序语言提供用户构造动态数据结构的设施,有自由地申请数据空间和退还数据空间的机制(如C++中的newdelete,PASCAL的new),或者不仅有过程而且有进程的程序结构,即空间的使用未必服从“先申请后释放,后申请先释放”的原则,那么栈式的动态存储分配方案就不适用了,这种情况下通常使用一种称为堆式的动态存储分配方案。下图所示为C语言运行时的内存空间安排,编译程序通常把全局量和每个函数中的静态量分在静态数据区,把一个函数中的自动变量和必需的数据组织成活动记录,随着调用函数的展开,分配在栈中。对于程序员构造动态数据结构,调用malloc动态申请的单元,则分配在堆中。

  • 第2题:

    信道分配策略包括()

    A、单一分配

    B、复合分配

    C、静态分配

    D、动态分配


    参考答案:CD

  • 第3题:

    在C语言中,(17)的一维数组来实现循环队列。

    A.不能用动态分配

    B.可以用动态分配

    C.动态和静态分配相结合

    D.以上都有可能


    正确答案:C
    解析:注意:循环队列的大小是固定的。

  • 第4题:

    在编译时安排所有数据对象的存储单元的分配策略属于()。

    • A、静态分配策略
    • B、栈式分配策略
    • C、堆分配策略
    • D、动态分配策略

    正确答案:A,B,C,D

  • 第5题:

    关于堆式分配,下面说法正确地是()。

    • A、属于动态分配
    • B、属于静态分配
    • C、适用于可递归调用、具有分程序结构的语言
    • D、适用于允许为变量动态申请内存空间的语言

    正确答案:A,D

  • 第6题:

    下行链路功率控制共有两种模式:模式A和模式B,模式A适用于固定分配、动态分配和扩展动态分配,而模式B仅适用于固定分配


    正确答案:正确

  • 第7题:

    在非递归调用的情况下,数据区的分配方法采用动态分配。


    正确答案:错误

  • 第8题:

    一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用()。

    • A、栈
    • B、堆
    • C、链表
    • D、数组

    正确答案:A

  • 第9题:

    单选题
    ()是在目标程序装入内存时分配作业所需的基本内存空间,且允许在运行过程中再次申请额外的内存空间。
    A

     静态分配

    B

     动态分配

    C

     直接分配

    D

     实现存储共享与保护


    正确答案: C
    解析: 暂无解析

  • 第10题:

    单选题
    一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用()。
    A

    B

    C

    链表

    D

    数组


    正确答案: C
    解析: 暂无解析

  • 第11题:

    判断题
    在递归调用的情况下,数据区的范培采用动态分配方法。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第12题:

    多选题
    在编译时安排所有数据对象的存储单元的分配策略属于()。
    A

    静态分配策略

    B

    栈式分配策略

    C

    堆分配策略

    D

    动态分配策略


    正确答案: A,D
    解析: 暂无解析

  • 第13题:

    一些重要的程序语言(如Pascal语言)允许过程的递归调用,而实现递归调用中的存储分配通常用( )。

    A.栈

    B.堆

    C.数组

    D.链表


    正确答案:A
    解析:一些较流行的程序语言允许过程的递归调用。递归调用就是过程调用本身。递归实现的是:当过程每一次执行后,都能返回到最近一次调用它的过程中。这样各调用点之间形成一种后进先出关系,而栈结构正适合来存储这些调用点。

  • 第14题:

    一些重要的程序设计语言(如C语言和Pascal语言)允许过程的递归调用,而实现递归调用中的存储分配通常用( )。

    A.栈

    B.堆

    C.数组

    D.链表


    正确答案:A
    在允许过程的递归调用的程序设计语言中,由于C语言中栈的特性为先进后出,因此用栈来实现递归调用中的存储分配。

  • 第15题:

    一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。而实现递归调用中的存储分配通常用( )

    A.栈
    B.堆
    C.数组
    D.链表

    答案:A
    解析:

  • 第16题:

    ()是在目标程序装入内存时分配作业所需的基本内存空间,且允许在运行过程中再次申请额外的内存空间。

    • A、 静态分配
    • B、 动态分配
    • C、 直接分配
    • D、 实现存储共享与保护

    正确答案:B

  • 第17题:

    下面()所列的内容,是根据设备的特性所采用的分配的技术。

    • A、独享分配
    • B、共享分配
    • C、静态分配
    • D、动态分配

    正确答案:A,B

  • 第18题:

    下列关于请求页式存储管理中,正确的是()。

    • A、采用静态重定位
    • B、采用动态重定位
    • C、内存静态分配
    • D、内存动态分配

    正确答案:A,D

  • 第19题:

    在递归调用的情况下,数据区的范培采用动态分配方法。


    正确答案:正确

  • 第20题:

    常用的两种动态存贮分配办法是()。

    • A、栈式动态分配
    • B、顺序动态分配
    • C、随机动态分配
    • D、堆式动态分配

    正确答案:A,D

  • 第21题:

    多选题
    关于堆式分配,下面说法正确地是()。
    A

    属于动态分配

    B

    属于静态分配

    C

    适用于可递归调用、具有分程序结构的语言

    D

    适用于允许为变量动态申请内存空间的语言


    正确答案: C,A
    解析: 暂无解析

  • 第22题:

    多选题
    常用的两种动态存贮分配办法是()。
    A

    栈式动态分配

    B

    顺序动态分配

    C

    随机动态分配

    D

    堆式动态分配


    正确答案: C,B
    解析: 暂无解析

  • 第23题:

    判断题
    在非递归调用的情况下,数据区的分配方法采用动态分配。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第24题:

    多选题
    下列关于请求页式存储管理中,正确的是()。
    A

    采用静态重定位

    B

    采用动态重定位

    C

    内存静态分配

    D

    内存动态分配


    正确答案: C,D
    解析: 暂无解析