我是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];
每当我尝试执行此操作时,都不会输出任何内容,并且程序会出现段错误。我应该如何修复它以便打印出来?感谢您的时间!
如果您要创建2D数组,则应在此处查看此Stack Overflow帖子。它有一张漂亮的图像来说明2D内存的布局方式以及如何正确创建阵列。请记住,使用创建动态内存时,new
您需要使用手动删除内存delete[]
。第二个响应给出了如何删除2D数组的代码示例。拥有数组后,您可以通过进行访问cout << array[x][y]
,其中x
和y
是行和列的索引。我将专注于正确创建2D数组并首先了解它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句