如果我使用以下代码在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动态数组中输入和显示值? (动态数组遍历问题,用于在分配后输入和显示值)
答案 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];