指向二维数组C++的指针数组
An array of pointers to two dimensional arrays C++
所以我有10个二维字符数组,我需要制作一个指向这些二维数组的指针数组,然后我需要打印这些二维数组。到目前为止,我已经这样做了:(我已经声明了阵列)
char(*s1)[9][15] = &p1;
char(*s2)[9][15] = &p2;
char(*s3)[9][15] = &p3;
char(*s4)[9][15] = &p4;
char(*s5)[9][15] = &p5;
char(*s6)[9][15] = &p6;
char(*s7)[9][15] = &p7;
char(*s8)[9][15] = &p8;
char(*s9)[9][15] = &p9;
char(*s10)[9][15] = &p10;
char *pointers[10] = {s1,s2,s3,s4,s5,s6,s7,s8,s9,s10};
for(int i = 0; i < 9; i++){
for(int j = 0; j < 15; j++){
cout << [0][i][j]; // this is just for the first two-dimensional array
}
}
所以这并没有打印出它应该打印的数组。我能做什么?请帮忙。
- 更正
pointers
的类型 - 获取指向数组的指针,取消引用以获取数组,然后访问数组
试试这个:
#include <iostream>
using std::cout;
#define array(x) char x[9][15] = {};for(int i=0;i<9;i++)for(int j=0;j<9;j++)x[i][j]='!'+i+j;
int main(void) {
array(p1)
array(p2)
array(p3)
array(p4)
array(p5)
array(p6)
array(p7)
array(p8)
array(p9)
array(p10)
char(*s1)[9][15] = &p1;
char(*s2)[9][15] = &p2;
char(*s3)[9][15] = &p3;
char(*s4)[9][15] = &p4;
char(*s5)[9][15] = &p5;
char(*s6)[9][15] = &p6;
char(*s7)[9][15] = &p7;
char(*s8)[9][15] = &p8;
char(*s9)[9][15] = &p9;
char(*s10)[9][15] = &p10;
char (*pointers[10])[9][15] = {s1,s2,s3,s4,s5,s6,s7,s8,s9,s10};
for(int i = 0; i < 9; i++){
for(int j = 0; j < 15; j++){
cout << (*pointers[0])[i][j]; // this is just for the first two-dimensional array
}
}
return 0;
}
相关文章:
- 指向指向字符数组的指针数组的指针
- 通过指向指针数组的指针访问子类的属性
- C++,指针数组,指向双链表中的条目
- 在C++中,如何初始化指向wchar_t*的指针数组(生成wchar_t**)
- C++从函数指针数组调用函数
- 关于指向指针数组的指针
- 将返回值存储在函数指针数组的指针中是如何工作的?
- 将链表转换为指针数组时出错
- C++ 对象指针数组的复制构造函数
- C++ - 循环访问指针数组会导致错误
- 删除指针数组 (C++) 中的元素
- 如何循环访问 cpp 中的函数返回的字符指针数组
- 将函数指针数组中的函数指针作为模板参数传递
- Google Or-Tools Glop:如何创建指向 const 对象的指针数组?
- 具有推导参数的模板函数指针数组变量
- 如何模板化堆栈分配的多态指针数组到接口,包括派生类型的相应点?
- C++指针数组到字符数组中的特定位置
- 如何在C++中复制指针数组的数据
- 初始化类中的指针数组,并在另一个类中检索它
- 尽管直接设置了指针数组,但仍为空