C ++中的2D动态数组

时间:2017-10-19 13:55:56

标签: c++ traversal dynamic-arrays

如果我使用以下代码在C ++中声明2D动态数组:

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
}

那么我应该如何使用循环在这个2D动态数组中输入和显示值? (动态数组遍历问题,用于在分配后输入和显示值)

1 个答案:

答案 0 :(得分:2)

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

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];