我在一个更大的程序中有内存泄漏,我相信这是它的原因。
#include <stdlib.h>
#include <Windows.h>
typedef struct _struct{
char* name;
} str;
int main() {
system("PAUSE");
str* Character = (str*)malloc(sizeof(str) * 20000);
for(int i = 0; i < 20000; i++){
Character[i].name = (char*)malloc(20000); // Assign memory.
}
for(int i = 0; i < 20000; i++){
free(Character[i].name); // Free memory.
}
free(Character);
system("PAUSE");
}
第一次暂停时的内存:~500K。
第二次暂停时的内存:~1.7M。
使用VS2012进行测试。有任何想法吗?