0

ある配列から別の配列に n 番目ごとの要素をコピーする方法を知っている人はいますか? たとえば、配列 Data[x] があり、3 つおきの要素 (Data[0]、Data[3]、Data[6] など) を新しい配列 Data2[j] にコピーしたいとします。for ループを使用しようとしましたが、成功しませんでした。

void StoreData()
{
bufferPointer1 = &BufferA[0];
x=0;
i=0;
j=0;

while (x<NO_SAMPLES-1)
{
    Data[x] = *bufferPointer1;
    bufferPointer1++;
    x++;
    for (j=0; j<127; i++)
        {
        Data2[j] = Data[i+=3];
        j++;
        }
}
}
4

1 に答える 1

0

関数内で変数を宣言しないのはなぜですか? それらの 4 つすべてがローカルで使用されているようで、関数の外部では表示されません。

このセクションで j ではなく i をインクリメントするのはなぜですか? これはタイプミスですか?

   for (j=0; j<127; i++)
        {
        Data2[j] = Data[i+=3];
        j++;
        }

私は次のように書きます:

   for (j=0; j<127; j++)
        {
        Data2[j] = Data[i];
        i+=3;
        }
    i=0;                      // Reset pointer
于 2015-08-21T18:19:47.660 に答える