如何在C ++中访问2D动态数组中的1个元素

时间:2016-12-25 22:32:56

标签: c++ arrays multidimensional-array

我是C ++的新手,我一直试图找出如何只访问我动态分配的2D数组中的1个元素:

char** array;
array = new char*[3];
for(int i = 0; i < 3; i++) {
    array[i] = new char [3];
}

我一直试图像这样访问它:

cout<< array[0][0];

每当我尝试这样做时,都没有打印出来并且程序会出现段错误。 我应该如何修复以便打印? 谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

如果您正在寻找创建2D数组,则应该查看此Stack Overflow帖子here。它有一个很好的图像来解释如何布局2D内存以及如何正确创建数组。请记住,使用new创建动态内存时,需要使用delete[]手动删除内存。第二个响应给出了如何删除2D数组的代码示例。获得阵列后,您可以cout << array[x][y]访问它,其中xy是您的行和列索引。我专注于正确创建2D阵列并首先理解它。