我有一个带有 for 循环的函数,在循环内部(并且取决于输入)某些变量使用以下命令初始化一次(第一次)malloc()。
这些变量的声明如下:
static double *vector;
然后我使用分配内存
malloc(size*sizeof(double));
Run Code Online (Sandbox Code Playgroud)
问题是:
我是否必须在被调用函数内循环的最后一次迭代中释放这些变量?
更新:也许我对某些人的解释是错误的。问题是被调用的函数(func_A)根据主函数的输入为其使用的某些向量分配内存。然后,这个 func_A 在主循环中被多次调用。这就是为什么我将变量定义为静态变量,以便每次调用 func_A 时都不会定义它们(出于时间消耗的问题),因为尺寸在整个运行过程中不会改变。这些变量是静态的但不是全局的,所以我无法将它们从 main 中释放(对吗?)。