【发布时间】:2014-04-20 15:54:43
【问题描述】:
问题:有没有办法在函数内存储(malloc/free)一个数组,这样如果我在主函数中多次调用该函数,它会调用我上次调用它时生成的数组。
详情:我需要用原型创建一个函数:
double* Wee(int N)
返回一个大小为 N 的数组。
该函数被重复调用以增加 N 的不同值。 假设 N = 4,那么数组值是这样的:
0.02 0.45 0.21 0.38
如果 N 现在等于 6,则数组值为:
0.02 0.45 0.21 0.38 0.56 0.81
有什么方法可以让函数记住这 4 个值:0.02 0.45 0.21 0.38,这样当我下次调用 N = 6 的函数时,就不需要再次计算这些值了?
目前我的 N=6 数组如下所示:
-6.27744e+066 -6.27744e+066 -6.27744e+066 -6.27744e+066 0.56 0.81
【问题讨论】:
-
使用 realloc()。它为你做了很多。
-
@JoachimPileborg 非常感谢!这正是我所需要的。
-
@Jim 谢谢吉姆。我已经以静态方式找到了我的解决方案,但我尝试使用 realloc 并且现在在一天之内学到了两件事。非常感谢!