为什么我的程序显示此编译错误? 我正在学习C++,刚刚到达指针,在阅读之后我开始练习它。 我被多维数组和指针卡住了。我被卡住的问题是我的程序没有打印第二个数组元素它也出现了一些错误我试图找到解决方案但找不到一个我有我的程序共享图片你可以查看链接如下
谢谢你这是你的密码为什么我的程序显示此编译错误? 我正在学习C++,刚刚到达指针,在阅读之后我开始练习它。 我被多维数组和指针卡住了。我被卡住的问题是我的程序没有打印第二个数组元素它也出现了一些错误我试图找到解决方案但找不到一个我有我的程序共享图片你可以查看链接如下,c++,arrays,pointers,multidimensional-array,C++,Arrays,Pointers,Multidimensional Array,谢谢你这是你的密码 #include <iostream> using namespace std; int main() { int arr[2][3]; arr[0][0]=1; arr[0][1]=8; arr[0][2] = 4; arr[1][0]=3; arr[1][1] = 6; arr[1][2] = 54; int* ptrarr=&arr[0][0]; cout<&
#include <iostream>
using namespace std;
int main()
{
int arr[2][3];
arr[0][0]=1;
arr[0][1]=8;
arr[0][2] = 4;
arr[1][0]=3;
arr[1][1] = 6;
arr[1][2] = 54;
int* ptrarr=&arr[0][0];
cout<<*(*(ptrarr+1)+1);
return 0;
}
其中,rownumber
和colnumber
是要访问的位置,COL
是列的总数。在您的情况下,它是3
因此,如果您想输出,arr[1][2]
,您可以这样做
cout<<*(ptr+(1*3)+2);
coutptrarr
是指向int
的指针,*ptrarr
是int
和**ptrarr
没有任何意义,为什么要取消引用两次?我去了很多网站,它向我展示了同样的东西。请告诉如何修复请编辑您的问题,删除代码的图像并将代码作为文本粘贴到您的问题中。请稍候,我将执行相同的操作,但我希望第二个数组中的值您实际期望的输出是什么?我期望的输出是54我现在已编辑了答案。现在可以了。要获得输出为54
,您能解释一下它的含义吗?这将很有帮助
cout<<*(ptr+(1*3)+2);