Jak kopiować tablice z memmove w programowaniu C

Jak kopiować tablice z memmove w programowaniu C
Tablice są podstawowym elementem języka programowania C, który umożliwia programistę przechowywania wielu elementów tego samego typu danych w jednej zmiennej. Są chwile, kiedy programista może potrzebować powtórzyć zawartość jednej tablicy do drugiej.

Jaka jest funkcja memmove ()

Funkcja biblioteki C memmove () służy do kopiowania określonej liczby bajtów z jednego adresu pamięci do drugiego. Ze względu na fakt, że nie ma wpływu na nakładanie się obszarów danych, jest to skuteczna i produktywna technika kopiowania danych. Podczas używania memmove () Aby skopiować tablicę, należy pamiętać o kilku rzeczach. Funkcję należy najpierw podać dwa wskaźniki, jeden reprezentujący lokalizację pamięci źródłowej, a drugą lokalizację pamięci docelowej. Należy również określić ilość bajtów, które chcesz skopiować ze źródła do miejsca docelowego.

memmove () Metoda to elastyczna funkcja, 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ę dłużej niż inne metody kopiowania, takie jak memcpy ().

Jak kopiować tablice z memmove () w programowaniu C

memmove () funkcja jest zdefiniowana w biblioteka i ma składnię:

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

Wskaźnik void* dest 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 void* src. Liczba bajtów, które chcemy skopiować z tablicy źródłowej do tablicy docelowej, jest określona przez argument size_t n.

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

#włączać
#włączać
int main ()
int source_array [] = 1, 2, 3, 4, 5;
int Destination_Array [5] = 0;
size_t size = sizeof (źródło_array);
memmove (Destination_Array, Source_Array, rozmiar);
dla (int i = 0; i < 5; i++)
printf („%D”, Destination_Array [i]);

powrót 0;

Tablice źródłowe i tablice docelowe są najpierw zdefiniowane w powyższym kodzie. Tablica docelowa jest początkowo pusta, ale tablica źródłowa ma elementy od 1 do 5. rozmiar() Operator jest następnie używany do określenia rozmiaru tablicy źródłowej, a wynik jest zapisywany w zmiennej rozmiaru. 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 z memmove () funkcjonować. Jego wszechstronność wynika z zdolności do obsługi nakładającej się pamięci, a ze względu na prostą składnię, każdy projekt C może z niego korzystać.