我是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];
每当我尝试这样做时,都没有打印出来并且程序会出现段错误。 我应该如何修复以便打印? 谢谢你的时间!
答案 0 :(得分:0)
如果您正在寻找创建2D数组,则应该查看此Stack Overflow帖子here。它有一个很好的图像来解释如何布局2D内存以及如何正确创建数组。请记住,使用new
创建动态内存时,需要使用delete[]
手动删除内存。第二个响应给出了如何删除2D数组的代码示例。获得阵列后,您可以cout << array[x][y]
访问它,其中x
和y
是您的行和列索引。我专注于正确创建2D阵列并首先理解它。