C 语言中的数组问题:我是否需要在 C 语言中通过引用将单个数组单元传递回我的全局数组?

Array problems in C: Do I need to pass a single array cell back to my global array by reference in C?

提问人:Ryan Paye 提问时间:8/3/2022 最后编辑:Ryan Paye 更新时间:8/3/2022 访问量:59

问:

我正在一个名为 dropmove 的用户定义函数中操作行和列,我目前停留在将数组单元格/值传递和返回到我的全局数组中的方法上。关于我需要如何返回单元格,我得到了相互矛盾的结果。我是否需要调用指针,或者我可以按值传递它,因为它是单个单元格?如果我想稍后操作我的行和列值,传递值是否无法返回单元格行和列的值?

从我过去的尝试来看,它似乎是命中注定的。在一次测试中,我看到我以正确的方向打印了单元格值。这让我得到了一些休息,但我想绝对确定我走在正确的道路上。

以下是我代码的一小部分。

int row;
int column;
int myrowcol[8][8] = {{0,0,0,0,0,0,0,0},
                     {0,0,0,0,0,0,0,0},
                     {0,0,0,0,0,0,0,0},
                     {0,0,0,0,0,0,0,0},
                     {0,0,0,0,0,0,0,0},
                     {0,0,0,0,0,0,0,0},
                     {0,0,0,0,0,0,0,0},
                     {0,0,0,0,0,0,0,0},
                     };

int dropmove()
{
 mycol[row][column] = selectPlayer();
 column = column;
  for (int row = 0; row <= 7; row ++)
    {
       if (row == 0 || myrowcol[row + 1][column] != 0)
       {
         myrowcol[row][column] = selectPlayer();
         if (myrowcol[row][column] == 0)
         {
          column = 0;
         }
         return myrowcol[row][column];
       }
       
    }  
}

int main()
{
   dropmove();
}
数组 C 引用 按值 传递指针

评论

0赞 Some programmer dude 8/3/2022
像这样的作业什么都不做。你到底想在那里做什么?column = column
0赞 Some programmer dude 8/3/2022
此外,当 .myrowcol[row + 1]row == 7
0赞 Some programmer dude 8/3/2022
if (myrowcol[row][column] == 0)永远不会发生,因为你在它面前有一个无条件的。说到,如果循环在没有你的显式语句的情况下结束,那么函数返回什么值?returnreturnreturn
0赞 Ryan Paye 8/3/2022
@Someprogrammerdude 我还有另一个用户定义的函数。我不想占用太多空间。我唯一的问题是:与我一直在做的事情相比,我是否需要使用引用传递或指针传递,按值传递?
1赞 Some programmer dude 8/3/2022
该功能应该做什么?它应该返回一个值吗?然后将该单个值作为值返回,而不是指向它的指针。intint

答: 暂无答案