如果这听起来含糊其辞或愚蠢,我很抱歉,但请考虑以下几点:
如果我有一个如下所示的main函数:
int main(void)
{
int red_wins = 0;
game_loop(&red_wins);
// code
printf("red has %d wins\n", red_wins);
}
然后有一个调用使用red_win的另一个函数的a Game_loop函数:
void game_loop(int *red_wins)
{
// code
particle_move(red_wins);
}
然后是另一个使用RED_WINS变量的名为PERGET_MOVE的函数:
void particle_move(int *red_wins)
{
// code
if (such and such)
{
*red_wins+= 10;
}
}
如果只在particle_move
函数中修改red_wins
,并且只从game_loop
函数中调用particle_move
,那么是像上面所示那样做还是通过传递指向particle_move
函数中的指针的指针来更好呢?或者,但我被告知这是一种糟糕的做法,使用全局变量red_wins
?或者有没有其他更好的方式让我忽略?