题27

题目

若一个进程实体由 PCB、共享正文段、数据堆段和数据栈段组成, 请指出下列 语言程序中的内容及相关数据结构各位于哪一段中。
I. 全局赋值变量 ( 正文段 )
II. 未赋值的局部变量 ( 栈段 )
III. 函数调用实参传递值 ( 栈段 )
IV. 用 malloc 要求动态分配的存储区(堆段)
V. 常量值(如 1995、“string”)(正文段
VI. 进程的优先级 (栈段)
A. PCB
B. 正文段
C. 堆段
D. 栈段

分析

我觉得内存肯定是分配在栈里面的

B、D、D、C、B、A
语言编写的程序在使用内存时一般分为三个段,它们一般是正文段 (代码和赋值数据段)、 数据堆段和数据栈段。
二进制代码和常量存放在正文段, 动态分配的存储区在数据堆段, 临时使用的变量在数据栈段
由此, 我们可以确定全局赋值变量在正文段赋值数据段, 未赋值的局部变量和实参传递在栈段, 动态内存分配在堆段, 常量在正文段, 进程的优先级只能在 PCB 内。