网络系统集成

由编译器自动分配释放,存放函数的参数值,局部变量的值等是()。A、栈区B、堆区C、全局区D、常量区

题目

由编译器自动分配释放,存放函数的参数值,局部变量的值等是()。

  • A、栈区
  • B、堆区
  • C、全局区
  • D、常量区
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下关于程序运行时内存分配区域的叙述中,说法错误的是(33)。

A.全局变量区域存放了程序当中的所有全局变量,是静态分配的区域

B.栈区域是由系统自动来分配的

C.堆是在函数调用时分配的,当函数调用结束之后,相应的堆就会被释放.

D.主函数和其他函数的代码在程序开始运行时,就被装入到内存,保存在代码区


正确答案:C
解析:栈帧是指在调用函数时,系统会自动地分配一块内存区域给这个函数,用来保存它的运行上下文、形参和局部变量。栈帧是在函数调用时分配的,当函数调用结束之后,相应的栈帧就会被释放。而堆区域主要用做动态分配的内存。

第2题:

在c程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在(32)分配。

A.代码区

B.静态数据区

C.栈区

D.堆区


正确答案:C
本题考查程序语言基础知识。程序运行时内存布局分为代码区、栈区、堆区和静态数据区。全局变量和静态变量的存储空间在静态数据区分配。函数中定义的局部自动变的存储空间是在栈区动态分配的,随着函数被执行而为其分配存储空间,当函数执行结束后由系统回收。

第3题:

运行时的存储区常常划分为:()

A、目标区

B、静态数据区

C、栈区

D、堆区


参考答案:ABCD

第4题:

计算机内存一般分为静态数据区、代码区、栈区和堆区,若某指令的操作数之一采用立即数寻址方式,则该操作数位于()。

A.静态数据区
B.代码区
C.栈区
D.堆区

答案:B
解析:
立即数寻址方式是指指令所需的操作数由指令的地址码部分直接给出,其特点是取指令时同时取出操作数,以提高指令的执行速度。静态数据区用于存放一对一的绑定且编译时就可确定存储空间大小的数据;栈用于存放一对多的绑定且与活动同生存期的绑定;堆用于存储由程序语句动态生成和撤销的数据。程序运行时,需要将程序代码(机器指,令序列)和代码所操作的数据加载至内存,指令代码加载至代码区,数据则根据绑定关系可能位于静态数据区、栈或堆区。

第5题:

在C程序中有些变量随着其所在函数被执行而为其分配存储空间,当函数执行结束后由系统回收。这些变量的存储空间应在( )分配。

A.代码区
B.静态数据区
C.栈区
D.堆区

答案:C
解析:
本题考查程序语言基础知识。
程序运行时内存布局分为代码区、栈区、堆区和静态数据区。全局变量和静态变量的存储空间在静态数据区分配。函数中定义的局部自动变的存储空间是在栈区动态分配的,随着函数被执行而为其分配存储空间,当函数执行结束后由系统回收。

第6题:

以下关于程序运行时内存分配区域的叙述中,说法错误的是(37)。

A.全局变量区域,存放了程序当中的所有全局变量,是静态分配的区域

B.栈区域是由系统自动来分配的

C.堆是在函数调用时分配的,当函数调用结束之后,相应的堆就会被释放

D.主函数和其他函数的代码在一个程序开始运行时,就被装入到内存,保存在代码区


正确答案:C
解析:栈帧是指在调用一个函数时,系统会自动地分配一块内存区域给这个函数,用来保存它的运行上下文、形参和局部变量等信息的一块内存区域。栈帧是在函数调用时分配的,当函数调用结束之后,相应的栈帧就会被释放。而堆区域主要用做动态分配的内存。

第7题:

在程序运行过程中由编程人员根据需要申请和释放空间的存储区域是( )。

A.代码区
B.静态数据区
C.栈区
D.堆区

答案:D
解析:
本题考查程序语言基础知识。
内存空间在逻辑上可以划分为代码区和数据区两大部分,其中,数据区又可分为静态数据区、栈区和堆区。代码区存放指令,运行过程中不能修改。一般情况下,全局变量的存储单元位于静态数据区,局部变量的存储单元存放在栈区,根据需要动态申请和释放的动态变量的存储空间在堆区。

第8题:

进程内存布局包括几个部分()。

A、代码区

B、数据区

C、堆

D、栈段


参考答案:ABCD

第9题:

程序中全局变量的存储空间在( )分配。

A.代码区
B.静态数据区
C.栈区
D.堆区

答案:B
解析:
本题考查程序语言基础知识。程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区,其中栈区和堆区也称为动态数据区。全局变量的存储空间在静态数据区。

第10题:

C程序中全局变量的存储空间在( )分配

A.代码区
B.静态数据区
C.栈区
D.堆区

答案:B
解析:
本题考查程序设计语言内存分配知识点。一个由c/c++编译的程序占用的内存分为以下几个部分:

1.栈区(stack):由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。

2.堆区(heap):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,链表的数据空间必须采用堆存储分配策。

3.全局区(静态区)(static):全局变量和静态变量的存储是放在这一块的。初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,程序结束后由系统释放。

4.文字常量区:常量字符串就是放在这里的,程序结束后由系统释放。

5.程序代码区:存放函数体的二进制代码

更多相关问题