循环体内开展动态内存分配是否会造成内存泄漏
循环体内进行动态内存分配是否会造成内存泄漏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内存),这样是否就能说明发生了内存泄漏了?
这句话并不能说明内存泄露了,linux虚拟内存管理机制你去看看吧。
但是看你的代码,内存确实泄露了!