函数调用的整个过程就是栈空间操作的过程。下面不属于栈操作过程的是()
A、把被调函数的栈空间收回
B、保护调用函数的运行状态和返回地址
C、传递参数
D、将控制转交被调用函数
第1题:
栈是实现过程和函数等子程序调用所必需的结构。
第2题:
关于栈的操作,以下说法错误的是()?
A.入栈操作就是把新元素放入栈中,只允许从栈顶一端存入元素,新元素的位置成为新的栈顶
B.入栈操作就是把新元素放入栈中,可以从栈中任何位置存入元素,新元素的位置成为新的栈顶
C.出栈操作就是把元素从栈中弹出,只有栈顶元素才允许出栈,出栈元素的前一个元素将会成为新的栈顶。
D.出栈操作就是把元素从栈中弹出,只有栈底元素才允许出栈,出栈元素的前一个元素将会成为新的栈底。
第3题:
13、下列关于栈的叙述中,错误的是()。
A.采用非递归方式重写递归程序是必须使用栈。
B.函数调用时,系统要用栈保存必要的信息。
C.只要确定了入栈次序,即可确定出栈次序。
D.栈是一种受限的线性表,允许在其两端进行操作。
E.消除递归不一定需要使用栈。
F.进栈和出栈操作的算法时间复杂度均为 O(n)。
G.两个栈共享一片连续的内存空间时,为了提高内存利用率、减少溢出,应当把两个栈的栈底分别设置在整篇内存空间的两端。
第4题:
以下是有关IA-32的过程调用所使用的栈和栈帧的叙述,错误的是()。
A.每进行一次过程调用,用户栈从高地址向低地址增长出一个栈帧
B.从被调用过程返回调用过程之前,被调用过程会释放自己的栈帧
C.只能通过将栈指针ESP作为基址寄存器来访问用户栈中的数据
D.过程嵌套调用深度越深,栈中栈帧个数越多,严重时会发生栈溢出
第5题:
25、栈是实现过程和函数等子程序调用所必需的结构。