Come copiare array con Memmove nella programmazione C

Come copiare array con Memmove nella programmazione C
Gli array sono un elemento di base nel linguaggio di programmazione C, che consente a un programmatore di archiviare numerosi elementi dello stesso tipo di dati in una singola variabile. Ci sono momenti in cui un programmatore potrebbe aver bisogno di replicare il contenuto di un array a un altro.

Qual è la funzione mmmove ()

La funzione della libreria C mmmove () viene utilizzato per copiare un certo numero di byte da un indirizzo di memoria a un altro. A causa del fatto che non è influenzato dalle aree dati sovrapposte, è una tecnica efficace e produttiva per la copia dei dati. Quando si usa mmmove () Per copiare un array, ci sono alcune cose da tenere a mente. La funzione deve prima essere fornita due puntatori, uno che rappresenta la posizione della memoria di origine e l'altro la posizione della memoria di destinazione. Deve anche essere specificata la quantità di byte che si desidera copiare dall'origine alla destinazione.

IL mmmove () Il metodo è una funzione flessibile in grado di gestire fonti sovrapposte e copiare i dati in qualsiasi ordine da qualsiasi luogo in memoria. L'unico inconveniente è che ci vuole un po 'più a lungo di altri metodi di copia come memcpy ().

Come copiare array con mmmove () nella programmazione C

IL mmmove () La funzione è definita libreria e ha la sintassi:

void *memmove (void *dest, const void *src, size_t n);

Il puntatore void* dest Specifica l'array di destinazione, a cui verrà copiato il contenuto dell'array di origine. Il puntatore all'array di origine che vogliamo copiare è const void* src. Il numero di byte che vogliamo copiare dall'array di origine all'array di destinazione è specificato dall'argomento size_t n.

Dai un'occhiata alla seguente riga di codice, ad esempio:

#includere
#includere
int main ()
int source_array [] = 1, 2, 3, 4, 5;
int Destination_array [5] = 0;
size_t size = sizeof (source_array);
memove (destinazione_array, source_array, dimensione);
per (int i = 0; i < 5; i++)
printf ("%d", destinazione_array [i]);

restituzione 0;

L'array di origine e gli array di array di destinazione sono prima definiti nel codice sopra. L'array di destinazione è inizialmente vuoto, ma l'array di origine ha elementi da 1 a 5. IL taglia di() L'operatore viene quindi utilizzato per determinare la dimensione dell'array di origine e il risultato viene salvato nella variabile dimensione. Il contenuto dell'array di origine viene copiato nell'array di destinazione.

Produzione

Conclusione

Il linguaggio di programmazione C offre un modo efficace e affidabile per copiare array con il mmmove () funzione. La sua versatilità deriva dalla sua capacità di gestire la memoria sovrapposta e, a causa della sua sintassi semplice, qualsiasi progetto C può usarla.