我有以下问题:
如果我malloc在方法中return使用指向我的指针main,并free在我的main中使用指针,我是否已成功释放内存?如果我这样做,这是不好的编程风格吗?
int* mallocTest(int size)
{
int * array = (int*) malloc(size);
return array;
}
int main ()
{
int* pArray = mallocTest(5);
free (pArray);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
编辑:这个问题的主要目的是我想知道,如果我成功地释放了内存(如果我使用malloc-free / new []-delete []的正确“组合”),当我将其拆分为方法时和主要功能!
EDIT2:更改了代码和主题,以指向问题的预期要点
其他答案中解释了将malloc释放它与混合释放。delete
我觉得你想知道malloc在方法中分配的内存是否返回指向的指针main,以及freemain 中的指针是否有效?是的,它可以完成,并且free会清除在其他方法中分配的内存,前提是您有指向该位置的指针。
| 归档时间: |
|
| 查看次数: |
536 次 |
| 最近记录: |