mat*_*ots 1 c memory-leaks memory-management
我的代码看起来像,
#include<stdlib.h>
#include<string.h>
char** someArray = NULL;
size_t numberOfEntriesInArray = 0;
void addToArray(char* someString){
someArray = realloc(someArray, (numberOfEntriesInArray+1) * sizeof(char*));
someArray[numberOfEntriesInArray] = malloc( (strlen(someString) + 1) * sizeof(char) );
strcpy(someArray[numberOfEntriesInArray], someString);
numberOfEntriesInArray++;
}
void deleteSomeArray(){
int i;
for (i = 0; i < numberOfEntriesInArray; i++){
free(someArray[i]);
}
free(someArray);
}
int main(){
addToArray( .. );
..
deleteSomeArray();
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让我知道deleteSomeArray它运作正常?即有没有办法检查是否还有更多需要释放的内存?
PS
如果我在程序中泄漏了内存,那么当程序死掉时内存会自动释放吗?如果没有,有没有办法得到泄露的记忆?