Plik nagłówka:
strunowy.HSkładnia:
void *mempcpy (void *dest, const void *src, rozmiar size_t)Argumenty:
Funkcja przyjmuje 3 argumenty:
Jest to początkowe wskaźnik bloku pamięci, w którym wskazał blok pamięci src (Drugi argument) zostanie skopiowany. Wskaźnik jest zadeklarowany jako pustka, więc każdy rodzaj bloku pamięci można skopiować.
Jest to początkowa wskaźnik bloku pamięci źródłowej, z którego zostanie skopiowany blok pamięci. Wskaźnik jest zadeklarowany jako pustka, więc każdy rodzaj bloku pamięci można skopiować.
Jest to rozmiar bloku pamięci w bajtach.
Wartość dwóch wskaźników Dest I src powinno być w taki sposób, że dwa bloki pamięci nie nakładały się. Rozmiar bloków pamięci źródła i miejsca docelowego musi być przynajmniej od rozmiar (3. argument) bajty, aby uniknąć nakładających się sytuacji. Jeśli dwa bloki pamięci są nakładane, wówczas zachowanie memcpy () Funkcja jest niezdefiniowana. Gdy istnieje możliwość nakładania się, możesz użyć memmove () Funkcja biblioteki, w której nakładanie się jest dobrze zdefiniowane. memmove () funkcja jest wolniejsza w porównaniu do memcpy () funkcjonować.
Ze względu na wartość rozmiar, Jeśli źródło lub miejsce docelowe są dostępne poza długością bufora, to zachowanie memcpy () Funkcja jest niezdefiniowana.
memcpy () Funkcja nie sprawdza, aby zakończyć znak „\ 0”.
Zwracaj wartości:
Ta funkcja zwraca wartość adresu docelowego Dest. Jako wartość Dest jest już dostępny, więc nie musi przechowywać w żadnej zmiennej.
Przykłady:
//Przykład 1.CW przykładzie1.c Deklarowaliśmy tablicę dwóch znaków src I Dest. Wielkość src jest 6 i Dest jest 13. Najpierw skopiowaliśmy 6 znaków „h”, „e”, „l”, „l”, „o”, „\ 0” z src Do Dest (Wiersz 11). W drugiej funkcji memcpy () skopiował 8 znaków „,„ w ”,„ o ”,„ r ”,„ l ”,„ d ”, ','!', „\ 0' do Dest po 5 znakach (wiersz 15). Pictoralnie możemy to reprezentować w następujący sposób:
// Przykład2.CW przykładzie2.c Deklarowaliśmy dwie struktury Student1 I Student2 (Linia 15 i 16). Po pierwsze, inicjujemy studenta 1 (linia 19, 20, 21). Następnie używamy memcpy Aby skopiować dane z Student1 Do Student2.
Wniosek:
W tym artykule nauczyliśmy się korzystać z memcpy funkcjonować. Widzieliśmy, że tę funkcję może być używana dla każdego rodzaju bloku pamięci, ale ta funkcja ma pewne ograniczenia. Musisz więc uważnie użyć tej funkcji.