当我遇到以下示例时,我正在解决一些简单的指针练习:
void deallocate2D(int** array, int nrows) {
/* deallocate each row */
int i;
for(i = 0; i < nrows; i++) {
free(array[i]);
}
/* deallocate array of pointers */
free(array);
}
该数组在main中定义为int** array1;
这是释放二维数组内存的正确方法还是应该在函数中传递 int*** 数组?
有没有办法检查内存是否已成功释放?
对,那是正确的。int***
仅当您打算更改指针的值时才需要,而您并不需要这样做。
确实存在可以检查内存分配/释放的工具 - Valgrind 应该能够做到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)