Kako kopirati nizove pomoću memmove() u C programiranju

Kako Kopirati Nizove Pomocu Memmove U C Programiranju



Nizovi su osnovni element u programskom jeziku C koji programeru omogućuje pohranu brojnih stavki iste vrste podataka u jednu varijablu. Postoje trenuci kada će programer možda trebati replicirati sadržaj jednog niza u drugi.

Što je funkcija memmove().

Funkcija C knjižnice memmove() koristi se za kopiranje određenog broja bajtova s ​​jedne memorijske adrese na drugu. Zbog činjenice da na njega ne utječu područja podataka koja se preklapaju, to je učinkovita i produktivna tehnika kopiranja podataka. Prilikom korištenja memmove() da biste kopirali niz, morate imati na umu nekoliko stvari. Funkciji se prvo moraju dati dva pokazivača, jedan predstavlja izvornu memorijsku lokaciju, a drugi odredišnu memorijsku lokaciju. Količina bajtova koju želite kopirati od izvora do odredišta također mora biti navedena.

The memmove() metoda je fleksibilna funkcija koja može rukovati preklapajućim izvorima i kopirati podatke bilo kojim redoslijedom s bilo kojeg mjesta u memoriji. Jedina mana je to što traje malo dulje od drugih metoda kopiranja kao što je memcpy().







Kako kopirati nizove pomoću memmove() u C programiranju

The memmove() funkcija je definirana u biblioteka i ima sintaksu:



poništiti * memmove ( poništiti * početak , konst poništiti * src , veličina_t n ) ;

Pokazivač praznina * odredište specificira odredišno polje u koje će se sadržaj izvornog polja kopirati. Pokazivač na izvorni niz koji želimo kopirati je const praznina* src . Broj bajtova koje želimo kopirati iz izvornog niza u odredišni niz određen je argumentom veličina_t n .



Na primjer, pogledajte sljedeći redak koda:





#include

#include

int glavni ( ) {

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

int odredišni_niz [ 5 ] = { 0 } ;

veličina_t veličina = veličina ( izvorni_niz ) ;

memmove ( odredišni_niz , izvorni_niz , veličina ) ;

za ( int ja = 0 ; ja < 5 ; ja ++ ) {

printf ( '%d' , odredišni_niz [ ja ] ) ;

}

povratak 0 ;

}

Izvorni niz i nizovi odredišnog polja prvo su definirani u gornjem kodu. Odredišni niz je u početku prazan, ali izvorni niz ima elemente od 1 do 5. The veličina() operator se zatim koristi za određivanje veličine izvornog polja, a rezultat se sprema u varijablu veličine. Sadržaj izvornog niza kopira se u odredišni niz.

Izlaz



Zaključak

Programski jezik C nudi učinkovit i pouzdan način kopiranja nizova s memmove() funkcija. Njegova svestranost dolazi od njegove sposobnosti rukovanja memorijom koja se preklapa, a zbog svoje jednostavne sintakse, svaki C projekt ga može koristiti.