ここで学んだことに基づいて: C の関数を介して動的配列を操作します。
void test(int data[])
{
data[0] = 1;
}
int main(void)
{
int *data = malloc(4 * sizeof *data);
test(data);
return 0;
}
これはうまくいきます。ただし、関数で使用することも試みてrealloc
います。
void increase(int data[])
{
data = realloc(data, 5 * sizeof *data);
}
これは準拠していますが、実行するとプログラムがクラッシュします。
質問
関数で realloc を使用するにはどうすればよいですか?
realloc
の結果を変数に代入し、それがNULL
最初かどうかを確認する必要があることを理解しています。これは単なる単純化された例です。