活动记录与栈式分配 — 计算机选择题
题目
在采用栈式存储管理的语言实现中,过程 Q 的某个局部数组的大小需待运行时才能确定。关于 Q 被激活时其活动记录的分配方式,下列说法正确的是:
A. 编译时无法确定活动记录总大小,故 Q 不能采用栈式分配,只能改用堆分配
B. 可变大小的数组安排在活动记录中固定长度部分的顶端之上,其首地址由运行时算出后存入活动记录,编译时为各变量分配的相对地址对固定部分仍然有效
C. 可变数组必须连同整个活动记录一起在编译时按最大可能尺寸预留空间,否则栈会溢出
D. 可变数组应存放在 Q 活动记录的控制链与返回地址之间,以保证调用者能直接访问