所以,我正在用 C 语言编写一些代码,以便为 ECG 设备处理更大的程序数据。该程序有几个全局 int 数组来存储数据,因为它必须连续过滤数据,同时还要使用以前的原始数据和过滤后的数据。因此,我必须不时移动数组中的整数,以便丢弃不再用于过滤的数据并用新的原始数据替换它等等。实现这一点并不比在我的代码中到处实现一些 for 循环来为我做这件事更困难。但是,我想定义一个为我执行此操作的函数,因为我这样做了很多次。因此我编写了这样一个函数,看起来像这样:
void updateArray(int array[], int size){
size = size / sizeof(int);
int i;
for(i = size; i > 0; i--){
array[i] = array[i-1];
}}
但是,由于我不习惯用 C 编写代码,我显然在这里做错了,因为使用这个函数会产生错误的数据。调试该函数,我发现当调用此函数时,数组按预期移动,但我的其他数组之一的其中一个值发生了变化。我不太确定为什么会这样,但我真的希望一些反馈可以帮助我更好地理解这个问题。