将每个第n个元素从一个数组复制到另一个数组

时间:2015-08-16 18:04:27

标签: arrays mplab dspic

有没有人知道将每个第n个元素从一个数组复制到另一个数组的方法?例如,我有一个数组Data [x],并希望将每个第三个(第三个)元素--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++;
        }
}
}

1 个答案:

答案 0 :(得分:0)

为什么你没有声明函数中的变量?它们中的所有四个似乎都在本地使用,在功能之外不应该是可见的。

为什么在本节中增加i而不是j,这是一个错字吗?

   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