のサイズを増やすためにmallocを使用することは可能ですか?配列を教えてください。 (新しい配列を割り当てずにmemcpyを実行することなく)もしそうなら、どうですか?mallocを使用して既存の配列のサイズを増やすことはできますか?
答えて
reallocを参照してください。配列のアドレスが変更される可能性があるので、必ず戻り値を代入してください。
配列のサイズを変更できない場合はNULLを返す可能性があるため、戻り値を*別の変数に代入してNULLをテストする必要があります。 –
確かに。同じことが 'malloc'にも当てはまります - 私は多くのプログラムが_that_の戻り値をチェックするのを悩ますのでしょうか? –
いいえ、アレイには連続したメモリが必要であり、現在の割り当て後のメモリが空き状態であることを保証する方法はありません。 @James McLaughlinが指摘しているように、新しい配列を作成してからmemcopyを実行する代わりに、reallocを使うことができますが、基本的に同じことです。
メモリオブジェクトの新しいサイズがオブジェクトの移動を必要とする場合(例えば、クローズメモリフィールドがすでにいくつかのプログラムによって占有されている場合)にのみ、malloc + memcpyと同じことをするようです。私は小さな配列(数キロバイト)で作業するので、ほとんどの場合、動きは必要ありません。 –
これは当てはまりますが、配列のサイズを増やすことが必要な特定の質問に対処しました。単純に新しい場所に割り当てるのではなく、 – mydogisbox
もしあなたがC++であれば、reallocと同じようにサイズ変更を処理するので、単にstl vectorを使うことをお勧めします。 – mydogisbox
- 1. 配列dequeのサイズを増やす
- 2. 既存のGreenplumデータノード(vm)のストレージを増やすことができます
- 3. ベクトルを使用せずにC++で配列のサイズを増やす
- 4. 「固定ドライブ」として設定されているVirtualBoxのサイズを増やすことはできますか?
- 5. 符号なし文字配列のサイズを増やす
- 6. 配列を使用してファイルを増やす
- 7. どのようにしてC++で配列を増やすことができますか?
- 8. リアクションネイティブ:ナビゲーションスワイプアクションのタッチエリアを増やすことはできますか?
- 9. malloc-ed配列と非malloc配列のサイズが異なるのはなぜですか?
- 10. 配列の長さとしてベクトルのサイズを使用できますか?
- 11. 配列の長さを増やして渡す配列番号#
- 12. PHP/Mysqlは、既存の配列の値を使用して新しい配列を作成しますか?
- 13. mallocを使用するポインタは配列と見なすことができますか?
- 14. レコードセットに配列をロードして値を増やしてVBAアクセスを増やす
- 15. 配列のサイズを増やす方法R
- 16. Pythonでスライスを増やすことはできますか?
- 17. c-配列サイズを増やした後のセグメンテーションフォールト
- 18. mallocを使用してシミュレートされた配列のサイズを取得
- 19. PHP:str_splitを使用して既存の配列に移動する
- 20. api "CreateFileMapping"を使用して作成した後、共有メモリサイズを増やすことはできますか?
- 21. グラフィックサークルのサイズを増やす
- 22. Extjs:JsonStoreのサイズを増やす
- 23. ウィジェットのサイズを増やす
- 24. サブレポートのサイズを増やす
- 25. 増やすサイズ
- 26. mallocを使用して配列の値を挿入する
- 27. Pythonを使って配列の次元数を増やす
- 28. AppleScriptを使用してMacのボリュームを増やしますか?
- 29. Elasticsearchでマッピングを使用してインデックス内の既存のフィールドを更新することはできますか?
- 30. オブジェクトの配列 - 他の列のデータと比較して列を増やす
あなた自身:アレイの横にあるスペースが既に何か他のものに割り当てられているとすれば、どうすれば可能ですか? – delnan
@delnan http://stackoverflow.com/a/9367362/901059ここで私はすでにこれがうまくいかない理由を指摘しました。 – mydogisbox
@mydogisbox:知っているので、私はOPに提案します。 – delnan