p = (int *)malloc(m * n * sizeof(int));
如果我p
用作二维动态数组,如何访问里面的元素?
我假设m是列数,而n是行数(如果相反,您可以在我的答案中使用 n 而不是 m )。
为了访问 2D 数组,您需要 2 个索引 - 我们称它们为x
:y
索引
x
将在0 .. m-1范围内,
y
索引将在0 .. n-1范围内
您可以通过p
以下方式计算数组的索引:
int p_idx = y * m + x
然后您可以通过以下方式访问您的数组元素:
p[p_idx] = 111; // set an element value
int a = p[p_idx]; // get an element value
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句