【发布时间】:2020-12-24 19:08:12
【问题描述】:
我需要在一个函数中分配一个整数数组,然后返回它。问题是我不知道我需要分配多少内存:它可能是sizeof(int)*3,因为它可能比我得到的内存更多。
由于分配一大块内存可能是多余的或不够的,这不是一个好的解决方案,我将第一次使用realloc。
现在我需要像这样循环使用它
for(i = 3; (res[i] = res[i-3] - res[i-2] - res[i-1]) >= 0; i++) {
res = realloc( res, sizeof(long long) * (i+2) );
}
是否允许将realloc返回的地址存储在与参数相同的指针中?
这是创建在执行时定义的大小数组的好方法吗?
【问题讨论】:
-
标题是“整数数组”,但您的代码中使用了
sizeof(long long)。您真正想使用哪个? -
你说得对,我要把标题改成“整数”
标签: arrays c integer realloc execution-time