首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

循环体内开展动态内存分配是否会造成内存泄漏

2013-01-19 
循环体内进行动态内存分配是否会造成内存泄漏while(1){int *p(int *)malloc(10*sizeof(int))}这样有没有

循环体内进行动态内存分配是否会造成内存泄漏


while(1)
{
    int *p=(int *)malloc(10*sizeof(int));
}

这样有没有问题,如果在循环内为数组中的元素赋值的话,下一次循环那些值是否保留?
[解决办法]
肯定会内存泄漏,在不断的消耗内存,而且没有办法释放。malloc的一定要用free释放
[解决办法]
malloc和free必须要成对啊,少年。

要不就在循环体内吧int *p释放,要不就把int *p存到某个地方,确定不用了再释放,不然直到程序退出都不会释放。
[解决办法]
引用:
用自己电脑试验了下,一运行电脑就不正常了(反映明显慢了许多)。用top查看内存使用情况,使用的内存维持在1.5-1.6g左右(我电脑是2g内存),这样是否就能说明发生了内存泄漏了?

用top查看内存使用情况,使用的内存维持在1.5-1.6g左右(我电脑是2g内存),这样是否就能说明发生了内存泄漏了?
这句话并不能说明内存泄露了,linux虚拟内存管理机制你去看看吧。
但是看你的代码,内存确实泄露了!

热点排行