Итак, в конце каждой итерации, которую я делаю, я хочу, чтобы мой массив был равен моему новому массиву (который я назвал 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];
}
}
Это занимает довольно много времени, потому что мои значения N_a и N_b очень велики. Есть ли способ просто изменить то, что каждый из них указывает, чтобы я мог быстрее начать свою следующую итерацию? Я пытался делать такие вещи, как
double *temp = *array;
*array = *array_new;
*array_new = temp;
для того, чтобы попытаться избежать медленного элемента-поэлементную процедуру копирования, но это не похоже на работу для меня. Фактически то, что я пытаюсь сделать, - это то, что каждый элемент массива указывает на соответствующий элемент в array_new, но я не могу понять, как сделать указатели.
Любая помощь была бы высоко оценена!
Исправьте ваше сообщение, чтобы указать (через теги), какой язык вы используете. Короткий, но полный пример того, что вы пытаетесь сделать, тоже поможет ... –
Отредактировано сейчас, это более ясно? – thay2302
'memcpy', если копия действительно необходима. Если нужно просто поменять два массива каждый раз, работайте с указателем, который будет обновляться с использованием текущего адреса массива (двойная буферизация). –