1

私はC++リファレンスを調べていて、動的メモリ管理を見つけ、メモリを再割り当てする関数を調べていました。この関数を使用して配列を大きくできるかどうか疑問に思っていました。それが彼らの意味だと思いますが、私は本当に理解していませんこの行

more_numbers = (int*) realloc (numbers, count * sizeof(int));

これは cplusplus 参照の例に表示されるので、ここで私の質問を簡単に説明します

realloc()配列を大きくするために使用できますか? ありがとう :)

4

2 に答える 2

8

malloc()配列のメモリが、calloc()、またはそれrealloc()以前に割り当てられた場合のみ。そうでなければ、あなたはトラブルを求めています。

于 2010-12-12T16:24:22.187 に答える
0

「関数はメモリブロックを新しい場所に移動する可能性があり、その場合、新しい場所が返されます」. ブロック内のデータは保持されますが、このブロック内のオブジェクトへのポインターは無効になる可能性があります。

于 2010-12-12T16:42:54.960 に答える