这个函数会改变我用来调用这个函数的矩阵中的原始值吗? 谢谢你的帮助。
void powerup(char mat[9][9])
{
for(int i=0;i<9;++i)
{
for(int j=0;j<9;++j)
{
mat[i][j]=su[i][j];
}
}
}
答案 0 :(得分:2)
是的,此功能将更改矩阵中的原始值。
按值调用表示将函数的参数复制到堆栈中。然后,该函数可以在不更改外部值的情况下修改这些副本。但是阵列绝不会这样。
当您将数组作为参数时,它将始终转换为指针。这意味着
void powerup(char mat[9][9])
和
void powerup(char (*mat)[9])
是一样的。