まず第一に、私は C に自信がありませんが、int の 2D 配列があり、この配列の 1 行のすべての値を書き込む関数が必要です。
例えば:
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 に変更しようとしたところ...うまくいきました! 値は正しく変更されます (完全に間違っているはずなので理由はわかりません) が、プログラムの他の部分でこの関数を使用すると、配列の値は変更されません。どのようにそれが可能でしょうか?配列の値を正常に変更するための提案はありますか? どうもありがとうございました!