既存の構造体 (最初にメモリが割り当てられている) に対して、実行時に (C で) 追加のメモリを割り当てる方法を探しています。私はmemmoveなどを使用できるかもしれないと感じていますが、それはまだ単なるコピー操作であり、実行時に構造体が使用できるメモリの量は増えません。また、これを行う必要があるたびに構造全体をコピーする必要はありません。これは、プログラム中に何百回も行われます (構造はすでに巨大です)。誰でも助けることができますか?
更新: 返信ありがとうございます。詳細を説明するために、私がやろうとしているのは、最初に構造体の多くのインスタンス (「S」と呼びます) を作成する MPI 並列化コードを実行することです。構造体の各インスタンスには、コードの実行時に発生した特定のイベントの時間を記録する配列 'T' が含まれています。これらのイベントは実行時に発生し、イベントの数は S のインスタンスごとに異なります。たとえば、S[0] には 100 個のイベントが表示される場合があります (したがって、長さが 100 要素の配列が必要です) が、S[1] には 1 つのみが表示される場合があります。イベント (および S[2] 30 イベントなど) したがって、S のすべてのインスタンス (何百万もある) の開始時に膨大な量のメモリを割り当てるのは非常に無駄です。近づいても。
ここでいくつかのアイデアを試して、進捗状況を投稿します。どうもありがとう!