如何在C 中的2D动态数组中访问1个元素
How to access 1 element in 2D dynamic array in C++
我是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]
访问它,其中x
和y
是您的行和列索引。我专注于正确创建2D数组并首先了解。
相关文章:
- 将静态字符数组中的字符分配给动态分配的字符数组 - 访问冲突
- 从数组访问SDL_Rect成员时垃圾值?
- 从 C++ 中的 int ** 数组访问元素
- 使用动态数组访问冲突写入位置
- 如何使用对象数组访问类中的变量?
- 从链表数组访问节点数据
- 返回类型的数组访问
- 在 C++ 中使用指针的数组:访问返回的数组时出现分段错误
- 为什么2D数组访问要比1D阵列访问更快
- 指向数组访问的指针上的隔离错误
- C 通过对象的指针数组访问对象方法
- C 通过数组访问多个成员
- C++可变参数模板数组/访问元素
- 数组访问导致空指针取消引用
- 无法从类数组访问数组
- 为什么编译器允许越界数组访问,即使使用 constexpr 索引也是如此
- C++ 从数组访问重载构造函数
- 为什么为了简单的数组访问,我必须在g++中打开优化
- 如何在重载数组访问运算符时访问SIMD矢量元素
- C++大型2D数组访问冲突