gpt4 book ai didi

c - c中的免费二维数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:33:17 25 4
gpt4 key购买 nike

当我遇到以下示例时,我正在解决一些简单的指针练习:

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 应该能够做到这一点。

关于c - c中的免费二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10340886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com