这是我的结构:
struct Checker
{
short row;
short col;
unsigned short number;
short color;
};
现在,我还必须创建另一个结构来表示跳棋盘:
struct Board
{
Checker checkers[2][13]; // Zeroth entry of 13 is not used.
Checker *grid[8][8]; // each entry holds Null or an address
// of an element in the checkers array
};
如果重要的话,跳棋 [0-1] 代表哪一边,[1-12] 是每个棋子的唯一编号。
无论如何,我有一个 8x8 网格,要么指向 NULL,要么指向一个棋子。我想要做的是能够访问该检查器,而不是通过它的唯一 ID(例如 checkers[0][5]),而是通过它在网格上的位置。
如何以这种方式访问数据成员?我试着总结一下:
声明了一个 Board gameBoard。设置网格,以便我在 [0][0]
处有一个跳棋棋子.这将是 checkers[0][1]
.所以不要做 cout <<checkers[0][1].number
,我希望能够在不知道其 ID 的情况下打印支票号码,而是知道该特定支票位于 [0][0]
。
谢谢。
最佳答案
cout << grid[0][0]->number;
如果网格是指向 Checker 结构的二维指针数组,则 grid[0][0] 是指向位于 (0, 0) 位置的 Checker 的指针。 ->
语法取消引用指针,然后访问 number
字段。
如果我误解了你的问题或我的回答失败了,请告诉我,我会很乐意删除。现在已经晚了。 :)
关于c++ - 通过指针访问结构中的值? (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2122567/