微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么备忘录不需要指针?

如何解决为什么备忘录不需要指针?

例如,在此代码中,工作正常,使用数组而不是指向数组的指针进行存储。 (int mem []代替int * mem)

int fibonacci(int n,int mem[]){
    if(n < 3)
    return 1;   

    if(mem[n])
    return mem[n];

    mem[n] = fibonacci(n - 1,mem) + fibonacci(n - 2,mem);
    return mem[n];
    } 

int climbStairs(int n){
    int mem[50] = {0};
    return fibonacci(n + 1,mem);
}

我不知道当其中一个函数返回时,返回的函数调用函数如何返回 将数据保存到先前的mem [n]。函数返回时是否应该删除函数数组?在该函数返回后,调用函数调用的另一个函数如何具有该值?

注意:这是在leetcode中解决爬楼梯的解决方案。由我写。

解决方法

在函数参数中使用[]时,它是一个指针。

int foo(int x[])

int foo(int *x)

等于100%。

但是,这将是另外一回事:

int foo(int x[10])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。