【发布时间】:2015-06-22 09:23:35
【问题描述】:
如果有一个非常大的数组,Arr [255]。我正在编写一个函数,只要这个数组中的任何一个或多个字节被其他函数更新,它就应该执行一项任务。你能帮我用最好的方法吗?
对于 Arr 的前 3 个字节的任何更改,我可以调用函数 Task(),如下所示。
int main (void)
{
while (1)
{
CheckArrayUpdated ();
}
}
void CheckArrayUpdated (void)
{
static char ArrPre [3];
if (
(ArrPre [0] != Arr [0]) ||
(ArrPre [1] != Arr [1]) ||
(ArrPre [2] != Arr [2])
)
{
Task ();
ArrPre [0] = Arr [0];
ArrPre [1] = Arr [1];
ArrPre [2] = Arr [2];
}
else;
}
我怎样才能对整个数组执行此操作,而不消耗大量处理时间并增加代码的长度和大小?
【问题讨论】:
-
能否修改
Task()以返回已更改索引的列表? -
您好 Jongware,我不知道数组的哪个索引正在更改。