指向3D数组的指针C ++

哈里·莱姆

C ++:我在指向3D数组的指针时遇到问题-我正在编写一个带有2D数组的基本游戏,每个2D数组都是一个单独的关卡,这些关卡分组为一个称为map的3D数组。

如何指向游戏的每个“级别”?我的简化代码:

#include<iostream>
using namespace std;

#define LEVEL  2
#define HEIGHT 3
#define WIDTH  3

bool map[LEVEL][HEIGHT][WIDTH] = { {{1, 0, 1},   
                                    {1, 0, 1},   
                                    {0, 0, 1}},

                                   {{1, 1, 0},   
                                    {0, 0, 0},   
                                    {1, 0, 1}} };
int main()
{
  // ideally this points to level#1, then increments to level#2 
  bool *ptrMap;

  for(int i=0; i<HEIGHT; i++)
  {
     for(int j=0; j<WIDTH; j++)
       cout << map[1][i][j];       // [*ptrMap][i][j] ?
     cout << endl;
  }
return 0;    
}
斯蒂芬·雅各布

分配,

bool *ptrmap= &map[0][0][0];// gives you level 0
cout<<*ptrmap; //outputs the first element, level 0
cout<<*(ptrmap+9);// outputs first element, level 1

如果您不希望指针线性增加,

i.e. map[0][0][0] as *ptrmap & map[1][0][0] as *(ptrmap + 9)

,建议您使用指针的指针创建矩阵(例如bool *** ptrmap),然后创建一个临时指针以对其进行取消引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指向C ++中的3D数组

来自分类Dev

C:指向2d数组的指针

来自分类Dev

指向数组的C指针

来自分类Dev

C - 指向指针数组的指针

来自分类Dev

在C中交换2d数组(指向指针的指针)

来自分类Dev

如何创建指向2D指针数组的指针-C

来自分类Dev

在C中交换2d数组(指向指针的指针)

来自分类Dev

使用指针算术打印3D数组元素的指针

来自分类Dev

指向2D数组C,C ++的指针

来自分类Dev

指向C中数组的指针

来自分类Dev

C ++-指向类的指针数组

来自分类Dev

指向数组C ++的指针值

来自分类Dev

C ++指向枚举数组的指针

来自分类Dev

返回指向数组的指针C ++

来自分类Dev

2D数组(指向指针的指针)

来自分类Dev

指向C中的2D数组的指针

来自分类Dev

指向2D数组参数(C)的指针

来自分类Dev

memcpy c中的3d指针

来自分类Dev

C-指向指针数组的指针

来自分类Dev

C ++指向const指针的const数组的指针

来自分类Dev

指向C中的int指针数组的指针

来自分类Dev

C-指向指针数组的指针

来自分类Dev

指向数组指针的双星指针;如何访问数组的指针?C ++

来自分类Dev

无法通过指针从函数返回3d数组

来自分类Dev

使用指针获取 3D 数组元素的总和

来自分类Dev

指向指针数组的指针

来自分类Dev

C ++ int指向数组的指针指向数组内存泄漏

来自分类Dev

存储指向2D数组的指针

来自分类Dev

指向2D数组的指针