将一个2D阵列分配给另一个

use*_*952 2 c++ arrays pointers multidimensional-array

所以在我的程序中我有一个函数,它传递给它一个2D数组,我想设置另一个2D数组等于该2D数组.我用C++编写代码并且无法正确地获得语法.现在我有以下内容:

void MyFunction(float **two_d_array){
    float newArray[4][4];
    //Set new array equal to two_d_array
}
Run Code Online (Sandbox Code Playgroud)

two_d_array也将始终为4x4,因此维度本身不是问题.

小智 5

我希望你不要将二维数组作为函数的双指针传递.

无论如何,你可以写

for (int i = 0; i < 4; i++)
    for (int j = 0; j < 4; j++)
        newArray[i][j] = two_d_array[i][j];
Run Code Online (Sandbox Code Playgroud)

如果你有另一个二维数组(而不是一个指针数组),那么只需使用memcpy():

void foo(float arr[][4])
{
    float newArray[4][4];
    memcpy(newArray, arr, sizeof(newArray));
}
Run Code Online (Sandbox Code Playgroud)