So kopieren Sie Arrays mit memmove() in der C-Programmierung

So Kopieren Sie Arrays Mit Memmove In Der C Programmierung



Arrays sind ein grundlegendes Element in der Programmiersprache C, das es einem Programmierer ermöglicht, zahlreiche Elemente desselben Datentyps in einer einzigen Variablen zu speichern. Es kann vorkommen, dass ein Programmierer den Inhalt eines Arrays in ein anderes replizieren muss.

Was ist die Funktion memmove()

Die C-Bibliotheksfunktion memmove() wird verwendet, um eine bestimmte Anzahl von Bytes von einer Speicheradresse zu einer anderen zu kopieren. Da es von überlappenden Datenbereichen unbeeinflusst bleibt, ist es eine effektive und produktive Technik zum Kopieren von Daten. Beim Benutzen memmove() Um ein Array zu kopieren, gibt es ein paar Dinge zu beachten. Der Funktion müssen zunächst zwei Zeiger gegeben werden, von denen einer den Quellspeicherort und der andere den Zielspeicherort darstellt. Die Anzahl der Bytes, die Sie von der Quelle zum Ziel kopieren möchten, muss ebenfalls angegeben werden.

Der memmove() -Methode ist eine flexible Funktion, die überlappende Quellen verarbeiten und Daten in beliebiger Reihenfolge von überall im Speicher kopieren kann. Der einzige Nachteil ist, dass es etwas länger dauert als andere Kopiermethoden memcpy().







So kopieren Sie Arrays mit memmove() in der C-Programmierung

Der memmove() Funktion ist in definiert Bibliothek und hat die Syntax:



Leere * memmove ( Leere * Start , konst Leere * Quelle , Größe_t N ) ;

Der Zeiger ungültig* Ziel gibt das Zielarray an, in das der Inhalt des Quellarrays kopiert wird. Der Zeiger auf das Quellarray, das wir kopieren möchten, ist const ungültig* src . Die Anzahl der Bytes, die wir vom Quellarray in das Zielarray kopieren möchten, wird durch das Argument angegeben size_t n .



Sehen Sie sich zum Beispiel die folgende Codezeile an:





#include

#include

int hauptsächlich ( ) {

int source_array [ ] = { 1 , 2 , 3 , 4 , 5 } ;

int Ziel_Array [ 5 ] = { 0 } ;

Größe_t Größe = Größe von ( source_array ) ;

memmove ( Ziel_Array , source_array , Größe ) ;

für ( int ich = 0 ; ich < 5 ; ich ++ ) {

Druckf ( '%D ' , Ziel_Array [ ich ] ) ;

}

zurückkehren 0 ;

}

Das Quellarray und das Zielarray werden zuerst im obigen Code definiert. Das Zielarray ist anfänglich leer, aber das Quellarray hat die Elemente 1 bis 5. Die Größe von() Der Operator wird dann verwendet, um die Größe des Quellarrays zu bestimmen, und das Ergebnis wird in der Größenvariable gespeichert. Der Inhalt des Quellarrays wird in das Zielarray kopiert.

Ausgang



Abschluss

Die Programmiersprache C bietet eine effektive und zuverlässige Möglichkeit, Arrays mit dem zu kopieren memmove() Funktion. Seine Vielseitigkeit ergibt sich aus seiner Fähigkeit, mit überlappendem Speicher umzugehen, und aufgrund seiner unkomplizierten Syntax kann es von jedem C-Projekt verwendet werden.