我是 C++ 新手,仍然对 2d 数组如何使用指针感到困惑。如果我有这个(以示例格式):
int* anarray = anarrayfiller();
for (int a=0;a<10;a++) {
for (int b=0;b<10;b++) {
cout<<(char)anarray[a][b]; //Here's the error mentioned below
}
cout<<"\n";
}
//Later, outside main
int* anarrayfiller() {
int anarray[10][10];
//Populated here
return &anarray;
}
这会在 cout<< 行中的 b 下产生一个错误:“表达式必须具有指向对象类型的指针”我只是检查如何搜索 2d 数组,我发现了这个: A pointer to 2d array 这表明实际上这指针指向anarray [0]内的整数数组,如果是这种情况,我必须在返回指针方面遗漏一些东西 - 我是否必须返回一个指向每个指向的二维指针数组的指针来自数组的特定整数?我在这里很困惑。指针如何与二维数组一起工作?