我已经看到许多关于 C 中多维数组的“我的代码有什么问题”的问题。出于某种原因,人们似乎无法理解这里发生的事情,所以我决定作为一个问题来回答这个问题引用他人:
如何在 C 中正确设置、访问和释放多维数组?
如果其他人有帮助的建议,请随时发表!
最佳答案
在 C99 之后的 C 中,即使是动态多维数组也可以使用 malloc
一次性轻松分配并使用 free
释放:
double (*A)[n] = malloc(sizeof(double[n][n]));
for (size_t i = 0; i < n; ++i)
for (size_t j = 0; j < n; ++j)
A[i][j] = someinvolvedfunction(i, j);
free(A);
关于c - 如何在 C 中正确设置、访问和释放多维数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462615/