C++ 中的二维动态数组

2D Dynamic array in C++

如果我使用以下代码在 C++ 中声明一个二维动态数组:

int *arr2D[2];              //allocating rows statically
for(int i=0;i<2;i++)
{
     arr2D[i]=new int[6];   //for each row, 6 columns are dynamically allocated
}

那我应该如何使用循环在这个二维动态数组中输入和显示值? (分配后在其中输入和显示值的动态数组遍历问题)

你应该使用循环输入数组并显示它:

int *arr2D[2];

for(int i = 0; i < 2; i++)
    arr2D[i] = new int[6];

for(int i = 0; i < 2; i++)
    for(int j(0); j < 6; j++){
        std::cout << "arr2D[" << i << "][" << j << "]: ";
        std::cin >> arr2D[i][j];
        std::cout << std::endl;
    }

for(int i = 0; i < 2; i++)
    for(int j(0); j < 6; j++){
        std::cout << "arr2D[" << i << "][" << j << "]: "
            << arr2D[i][j] << std::endl;
    }

最后别忘了释放内存(分配给new的内存必须由delete释放):

for(i = 0; i < 2; i++)
    delete[] arr2D[i];