设array1
和array2
是结构示例的两个数组,用malloc数组函数分配。array1_totlength
和array2_totlength
是数组中的元素数。
我想对array1
的每个元素执行一个操作func1()
,除了array2
中的元素。
for (int bl= 0; bl < array1_totlength; bl++)
{
/* If this element is in array_2, skip it.*/
for (int l= 0; l < array2_totlength; l++)
{
if (array2[l] == array1[bl])
{?????}
}
func1(array1[bl]);
}
注意,这是问题的简化版本;在我的实际情况中,array2
的每个元素都有一个指向array1
元素的指针,代码向array2
添加一个新元素(通过内存重新分配),该新元素的指针指向对应的array1
元素,我需要跳过创建已经指向的元素;另一种选择是完全废弃array2
并从头开始,但我不倾向于这种选择,因为如果我以前做过,那么再做一次就没有意义了,它只会不必要地减慢程序的速度。
4条答案
按热度按时间anhgbhbe1#
只要使用一个变量来指示是否找到了它,这就可以工作,也可以向任何阅读代码的人发出信号。
wf82jlnq2#
例如你可以写
093gszye3#
要解决您的问题,您可以执行以下操作
hmae6n7t4#
始终记住数组中的两项内容