[英]Dynamic Memory Allocation query
据我们所知
那么可以说要实现递归,我们将不需要动态内存分配吗?
我完全感到困惑。
递归本身仅需要堆栈。 例如,实现递归阶乘方法
int fact(int n) {
if (n <= 1) return 1;
return n * fact(n - 1);
}
只需要堆栈。 推n - 1
,在其上调用fact
,然后将结果(可能还会在堆栈上返回)乘以n
。 但是,即使递归操作本身不需要动态内存,您通过递归实现的算法也可能涉及需要动态内存的任务。 因此,没有实现递归本身可能不需要动态内存,但是您正在使用递归来解决的问题可能需要它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.