Jak kopiować tablice za pomocą memmove() w programowaniu w C

Jak Kopiowac Tablice Za Pomoca Memmove W Programowaniu W C



Tablice są podstawowym elementem języka programowania C, który umożliwia programiście przechowywanie wielu elementów tego samego typu danych w jednej zmiennej. Czasami programista może potrzebować zreplikować zawartość jednej tablicy do innej.

Co to jest funkcja memmove().

Funkcja biblioteki C pamiętnik() służy do kopiowania określonej liczby bajtów z jednego adresu pamięci do drugiego. Dzięki temu, że nie ma na nią wpływu nakładanie się obszarów danych, jest efektywną i produktywną techniką kopiowania danych. Podczas używania pamiętnik() aby skopiować tablicę, należy pamiętać o kilku rzeczach. Funkcja musi najpierw otrzymać dwa wskaźniki, jeden reprezentujący lokalizację pamięci źródłowej, a drugi lokalizację pamięci docelowej. Należy również określić ilość bajtów, które chcesz skopiować ze źródła do miejsca docelowego.

The pamiętnik() Metoda jest elastyczną funkcją, która może obsługiwać nakładające się źródła i kopiować dane w dowolnej kolejności z dowolnego miejsca w pamięci. Jedyną wadą jest to, że zajmuje to trochę więcej czasu niż inne metody kopiowania, takie jak memcpy().







Jak kopiować tablice za pomocą memmove() w programowaniu w C

The pamiętnik() funkcja jest zdefiniowana w biblioteka i ma składnię:



próżnia * pamiętnik ( próżnia * początek , konst próżnia * źródło , rozmiar_t N ) ;

Wskaźnik pustka* cel określa tablicę docelową, do której zostanie skopiowana zawartość tablicy źródłowej. Wskaźnik do tablicy źródłowej, którą chcemy skopiować, to const nieważne* src . Argument określa liczbę bajtów, które chcemy skopiować z tablicy źródłowej do tablicy docelowej rozmiar_t rz .



Spójrz na przykład na następujący wiersz kodu:





#include

#include <łańcuch.h>

int główny ( ) {

int tablica_źródłowa [ ] = { 1 , 2 , 3 , 4 , 5 } ;

int tablica_celowa [ 5 ] = { 0 } ;

rozmiar_t rozmiar = rozmiar ( tablica_źródłowa ) ;

pamiętnik ( tablica_celowa , tablica_źródłowa , rozmiar ) ;

Do ( int I = 0 ; I < 5 ; I ++ ) {

drukujf ( '%D ' , tablica_celowa [ I ] ) ;

}

powrót 0 ;

}

Tablica źródłowa i tablica docelowa są najpierw zdefiniowane w powyższym kodzie. Tablica docelowa jest początkowo pusta, ale tablica źródłowa zawiera elementy od 1 do 5. The rozmiar() Operator jest następnie używany do określenia rozmiaru tablicy źródłowej, a wynik jest zapisywany w zmiennej size. Zawartość tablicy źródłowej jest kopiowana do tablicy docelowej.

Wyjście



Wniosek

Język programowania C oferuje skuteczny i niezawodny sposób kopiowania tablic za pomocą pamiętnik() funkcjonować. Jego wszechstronność wynika z możliwości obsługi nakładającej się pamięci, a dzięki prostej składni każdy projekt C może z niego korzystać.