首先,我对 C 没有信心,但我有一个 int 的二维数组,我想要一个函数来写入该数组单行的所有值。
例如:
int main(int argc, char *argv[])
{
int a[2][2];
a[0][0] = 1;
a[0][1] = 2;
a[1][0] = 3;
a[1][1] = 4;
change_array(&a[0]);
}
void change_array(int* array[])
{
(*array)[0] = -1;
(*array)[1] = -1;
}
程序立即崩溃。我试图将 change_array 函数更改为 array[0] = -1 并且......它有效!值已正确更改(我不知道为什么,因为它应该是完全错误的),但是如果我在程序的其他部分使用此函数,则数组的值保持不变。怎么可能?有什么建议可以成功更改我的数组的值吗?非常感谢!