小编tha*_*302的帖子

快速复制数组的方法

所以在我正在做的每次迭代结束时,我想让我的数组等于我的新数组(我称之为array_new).我希望数组的每个元素都采用与array_new相同的值,但我有兴趣尽可能快地获取代码,因此在当前代码执行的情况下,逐个元素地复制所有元素不是一个选项:

for(i=0;i<N_a;i++) {
  for(j=0;j<N_b;j++) {
    array[i][j] = array_new[i][j];
  }
}
Run Code Online (Sandbox Code Playgroud)

这需要相当长的时间,因为我的N_a和N_b的值非常大.有没有办法简单地改变每个指向的内容,以便我可以更快地开始下一次迭代?我尝试过这样的事情

 double *temp = *array;
 *array = *array_new;
 *array_new = temp;
Run Code Online (Sandbox Code Playgroud)

为了尝试避免缓慢的逐个元素复制过程,但它似乎不适合我.实际上,我正在努力实现的是,数组的每个元素都指向array_new中的相应元素,但我无法弄清楚如何使指针执行此操作.

任何帮助将非常感激!

c arrays optimization pointers multidimensional-array

2
推荐指数
1
解决办法
537
查看次数