指向C中的多维数组的指针? [英] Pointer to Multidimensional Array in C?

查看:89
本文介绍了指向C中的多维数组的指针?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

可以简单地将指向C中多维数组的指针编写为:

Can a pointer to a multidimensional array in C be written simply as:

double *array;

array是一个n×n矩阵吗?

Where arrayis 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆