C:下标值既不是数组也不是指针

时间:2014-09-21 01:37:14

标签: c arrays

我试图创建一个初始化其他游戏的板的功能,我认为使用通用功能会更好地学习,但我很早就遇到了问题,有人能告诉我为什么这不起作用? 我定义了一个10x10 int数组的othelotype。

othelotype* inicializartablero (othelotype* board)
{
  int x, y;

  for (x = 0; x < 8; x++)
    for (y = 0; y < 8; y++)
       board[x][y] = 2;


  board[4][5] = board[5][4] = 0;
  board[4][4] = board[5][5] = 1;

}

2 个答案:

答案 0 :(得分:2)

根据评论中的代码,othelotype不是10x10数组 - 它是一个结构。无法使用[]运算符访问结构。你可以用结构来访问他们的成员。在这种情况下,我想你想要访问cuadrado成员然后索引到那个(因为它实际上是一个数组)。

答案 1 :(得分:1)

您可以继续使用othelotype *board作为参数,只需使用board->cuadrado访问其中的实际数组:

othelotype* inicializartablero (othelotype* board)
{
  int x, y;

  for (x = 0; x < 8; x++)
    for (y = 0; y < 8; y++)
       board->cuadrado[x][y] = 2;


  board->cuadrado[4][5] = board->cuadrado[5][4] = 0;
  board->cuadrado[4][4] = board->cuadrado[5][5] = 1;

}