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

How to access 1 element in 2D dynamic array in C++

本文关键字:数组 访问 1个 元素 动态 2D 中的      更新时间:2023-10-16

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

每当我尝试执行此操作时,什么都没有打印出来,并且程序segfaults。我应该如何修复它以打印?谢谢您的宝贵时间!

如果您想创建一个2D数组,则应在此处查看此堆栈溢出帖子。它有一个不错的图像来解释如何布置2D内存以及如何正确创建数组。请记住,当您使用new创建动态内存时,需要使用delete[]手动删除内存。第二个响应给出了如何删除2D数组的代码示例。拥有数组后,您可以通过cout << array[x][y]访问它,其中xy是您的行和列索引。我专注于正确创建2D数组并首先了解。