指向C中的多维数组的指针? [英] Pointer to Multidimensional Array in C?
本文介绍了指向C中的多维数组的指针?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
可以简单地将指向C中多维数组的指针编写为:
Can a pointer to a multidimensional array in C be written simply as:
double *array;
array
是一个n×n矩阵吗?
Where array
is an n by n matrix?
然后我可以通过array[i][j]
访问第i
行第j
列中的元素吗?
And then can I access the element in row i
, column j
, by array[i][j]
?
还是有双指针之类的东西?
Or is there such thing as a double pointer?
推荐答案
可以简单地将指向C中多维数组的指针编写为:
Can a pointer to a multidimensional array in C be written simply as:
double *array;
是的
说您有M x N
个数组.您可以使用:
Say you have M x N
array. You can use:
double* array = malloc(M*N*sizeof(*array));
然后,您可以使用以下方法访问元素:
Then, you can access the elements by using:
size_t getArrayIndex(size_t m, size_t n, size_t M)
{
return (m*M+n);
}
double getArrayElement(double* array, size_t m, size_t n, size_t M)
{
return array[getArrayIndex(m, n, M)];
}
这篇关于指向C中的多维数组的指针?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文