ポインター配列を操作する必要があるプログラムがあります。私の問題は、要素 i をポインタ p (p[i]) から削除する方法がわからないことです。以下に問題を詳しく説明します。
私は構造を持っています:
struct CuttingLine
{
NxU32 linePoints[150];
NxU32 lineLength;
NxVec3 normal;
};
次に、ポインターを宣言します。
CuttingLine* cuttingLines;
次のようにポインタを初期化します。
cuttingLines = (CuttingLine*)malloc(sizeof(CuttingLine) * 10);
次に、いくつかの要素を追加します (これはデモンストレーションのみを目的としており、私のプログラムでは行が作成され、値が与えられていることに注意してください):
for(int i=0;i<3;i++)
cuttingLines[i] = line;
次に、ポインターをもう一度調べて、3 つの要素を削除しますが、ポインターを解放したくはありません (free(cuttingLines) を呼び出してポインターを削除できることは理解しています)。どうやってやるの?その中の要素を削除したいだけですが、最初に割り当てられたメモリの割り当てを解除したくありません。