【发布时间】:2017-03-27 12:45:00
【问题描述】:
我完全没有用 C 编写代码,所以我很难用指针指向 2D 数组。我有一个整数类型的 3x3 二维数组。
这是我尝试使用的方法:
void addMoveToBoard(int *gameArray[3][3], int a, int b, int player) {
*((int *)gameArray + x * 3 + y) = player;
if (a == 0) {
mvaddch(a, b, 'X');
}
...
}
这是我的主要内容:
int *board[3][3] = {{0,0,0},{0,0,0},{0,0,0}};
addMoveToBoard(board, 0, 0, 1);
第一个问题是当我为第二个和第三个参数传递零时,当我在函数中使用它们时它们不是 0。使用 mvaddch(a,b, 'X') 时,a 和 b 似乎是 1 而不是 0。我是否正确地为游戏数组中的元素赋值?
【问题讨论】:
-
int *board[3][3]声明了一个由三个指针组成的数组。我怀疑这不是你想要的。 -
请出示真实代码。并将其显示为minimal reproducible example。您的代码引用了未定义的变量,例如
x和y,而您的问题引用了代码,例如mvaddch,甚至没有显示。
标签: c arrays multidimensional-array parameters computer-science