Hvordan du kopierer matriser med memmove i c -programmering

Hvordan du kopierer matriser med memmove i c -programmering
Arrays er et grunnleggende element i C -programmeringsspråket, som gjør det mulig for en programmerer å lagre mange elementer av samme datatype i en enkelt variabel. Det er tider hvor en programmerer kan trenge å gjenskape innholdet i en rekke til en annen.

Hva er memmove () -funksjonen

C -bibliotekfunksjonen Memmove () brukes til å kopiere et visst antall byte fra en minneadresse til en annen. På grunn av det faktum at det ikke påvirkes av overlappende dataområder, er det en effektiv og produktiv teknikk for å kopiere data. Når du bruker Memmove () For å kopiere en matrise, er det noen få ting å huske på. Funksjonen må først gis to pekere, den ene som representerer kildeminnets plassering og den andre destinasjonsminneplassen. Mengden av byte du vil kopiere fra kilden til destinasjonen, må også spesifiseres.

De Memmove () Metode er en fleksibel funksjon som kan håndtere overlappende kilder og kopiere data i hvilken som helst rekkefølge hvor som helst i minnet. Den eneste ulempen er at det tar litt lengre tid enn andre kopieringsmetoder som memcpy ().

Hvordan kopiere matriser med memmove () i C -programmering

De Memmove () Funksjon er definert i bibliotek og har syntaks:

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

Pekeren tomrom* dest Spesifiserer destinasjonsarrayen, som innholdet i kildekruppen skal kopieres. Pekeren til kildeoppstillingen som vi ønsker å kopiere er const tomrom* src. Antall byte som vi ønsker å kopiere fra kildeoppstillingen til destinasjonsarrayen er spesifisert av argumentet størrelse_t n.

Ta en titt på følgende kodelinje, for eksempel:

#inkludere
#inkludere
int main ()
int source_array [] = 1, 2, 3, 4, 5;
int destinasjon_array [5] = 0;
size_t size = sizeof (source_array);
Memmove (destination_array, source_array, størrelse);
for (int i = 0; i < 5; i++)
printf ("%d", destination_array [i]);

retur 0;

Kildeoppstillingen og destinasjonsarrayene er først definert i koden ovenfor. Destinasjonsarrayen er i utgangspunktet tom, men kildeoppstillingen har elementer 1 til 5. De størrelsen av() Operatøren brukes deretter til å bestemme størrelsen på kildekruppen, og resultatet lagres i størrelsesvariabelen. Innholdet i kilden Array er kopiert over til destinasjonsarrayen.

Produksjon

Konklusjon

C -programmeringsspråket tilbyr en effektiv og pålitelig måte å kopiere matriser med Memmove () funksjon. Allsidigheten kommer fra evnen til å håndtere overlappende minne, og på grunn av dets enkle syntaks, kan ethvert C -prosjekt bruke det.