我正在用 C 语言编写一个算法,它将指向无符号整数数组的指针作为输入进行某种过滤并将结果返回到相同的指针数组。我这样做了:
static void Filtering(Inst_t *psStruct, uint8 *arraypointer)
{
uint8 *arrayFilter;
uint32 i, n = 0, uCount;
uCount = psStruct->uCount;
for (i = 0; i < uCount; i++)
{
arraypointer[i] = (arraypointer[i] + arraypointer[i - 1] + arraypointer[i + 1])/3;
}
}
这样做会覆盖数据。但我不希望这种情况发生。所以想要制作指针指向的数组数据的本地副本,然后使用它来计算平均值并将计算值传回。
我正在考虑分配一个 *arraypointer 大小的数组,并用指针数组值初始化它,并改用这个本地副本。从理论上讲,这对我来说很有意义,但不确定这是否是最好的方法。
非常感谢任何解决此问题的指针/代码。请帮忙。
提前致谢。