指向C中的多维数组?

use*_*892 1 c arrays pointers

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

double *array;
Run Code Online (Sandbox Code Playgroud)

arrayn乘n矩阵在哪里?

然后,我可以访问该元素的行i,列j,由array[i][j]

还是有双指针这样的东西?

R S*_*ahu 5

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

double *array;
Run Code Online (Sandbox Code Playgroud)

是.

说你有M x N阵列.您可以使用:

double* array = malloc(M*N*sizeof(*array));
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下方法访问元素:

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)];
}
Run Code Online (Sandbox Code Playgroud)