我目前正在为iPhone / iPod / iPad开发游戏。为了存储12列×8行的板数据,我有一个存储指向其中一个游戏项的块的数组。声明如下:
BlockData* mBoard[kNumberOfColumns][kNumberOfRows];
我还有另一个声明如下的数组:
BlockData* mCenterSquare[16];
我希望存储指向电路板上特定位置的指针,例如
mCenterSquare[0] = mBoard[4][5];
这是正确的做法吗?我想用上面的代码行完成的是mCenterSquare [0]存储指向板上位置的指针 - 第4列和第5行。我该怎么做呢?
提前致谢。
答案 0 :(得分:1)
为什么不使用mCenterSquare数组来存储数据:
function BlockData* getBlockData(int row, int col) {
return mCenterSquare[row * kNumberOfCols + col]
}
答案 1 :(得分:0)
我不禁想到这是一个棘手的问题。是的,这就是你的方式。 :)