我正在编写一个代码,其中有几个功能。在每个函数中,有几个变量应该动态分配内存。这些函数被重复调用,因此分配一次内存并在main
.
该main
函数如下所示:
//Some code here
while (err < tolerance){
CalculateMismatch(M, err);
//Update M and err and do other things
}
//Here is end of main, where I should free all the memories being allocated dynamically in other functions
这段代码显示CalculateMismatch
被调用了几次。所以,我只在这个函数中分配一次内存。像这样的东西:
function CalculateMismatch(Some arguments){
//The following line is illegal in C, but I do not know how to allocate the memory just once and reuse it several times.
static double *variable1 = malloc(lengthofVar1 * sizeof(variable1));
//Rest of the code
}
CalculateMismatch
我的问题是我不知道如何访问main
. 请让我知道我应该如何释放变量,或者是否有更有效的方法来分配和释放内存。提前感谢您的帮助。
提供有关我的代码的更多详细信息:到目前为止,我已经全局定义了所有变量,并在 main.js 中动态分配了内存。但是由于变量的数量很大,并且其中一些仅用于一个特定的函数,我决定将定义移到函数内部。但是,我不知道如何释放每个函数内部分配的内存。