【发布时间】:2016-08-30 06:45:47
【问题描述】:
我有以下代码,会不会导致内存泄漏,函数返回后,有很多未分配的内存,没有被认领?
#include <stdlib.h>
struct test
{
char * name;
char * value;
};
void test_ok()
{
int i;
struct test * ok;
for (i=0;i<10000;i++)
{
ok =malloc(sizeof(struct test));
}
}
void main ()
{
int j=0;
while(j<60)
{
test_ok();
j++;
sleep(1);
}
}
【问题讨论】:
-
test_ok未被调用.... -
你的代码没有做任何事情,只是在浪费 CPU 周期。
-
哎呀,刚刚添加了函数调用。
-
看来你已经知道答案了。是的,当然它会造成大量内存泄漏。
-
是什么让您的程序不会造成内存泄漏?你在分配大量内存却从未释放它。
标签: c memory-leaks malloc