Что такое функция memmove()
Функция библиотеки C память() используется для копирования определенного количества байтов с одного адреса памяти на другой. Благодаря тому, что на него не влияют перекрывающиеся области данных, это эффективный и производительный метод копирования данных. Когда используешь память() Чтобы скопировать массив, нужно помнить о нескольких вещах. Сначала функции должны быть переданы два указателя, один из которых представляет исходную ячейку памяти, а другой — целевую ячейку памяти. Также необходимо указать количество байтов, которое вы хотите скопировать из источника в место назначения.
память() метод — это гибкая функция, которая может обрабатывать перекрывающиеся источники и копировать данные в любом порядке из любого места в памяти. Единственным недостатком является то, что это занимает немного больше времени, чем другие методы копирования, такие как память().
Как копировать массивы с помощью memmove() в программировании на C
память() функция определена в <строка.h> библиотека и имеет синтаксис:
пустота * запомнить ( пустота * начинать , константа пустота * источник , размер_t н ) ;
Указатель пустота* место назначения указывает целевой массив, в который будет скопировано содержимое исходного массива. Указатель на исходный массив, который мы хотим скопировать, является константой. недействительным * источник . Количество байтов, которое мы хотим скопировать из исходного массива в целевой массив, задается аргументом size_t n .
Взгляните, например, на следующую строку кода:
#include
#include
инт основной ( ) {
инт исходный_массив [ ] '=' { 1 , 2 , 3 , 4 , 5 } ;
инт назначение_массив [ 5 ] '=' { 0 } ;
размер_t размер '=' размер ( исходный_массив ) ;
запомнить ( назначение_массив , исходный_массив , размер ) ;
для ( инт я '=' 0 ; я < 5 ; я ++ ) {
printf ( '%д' , назначение_массив [ я ] ) ;
}
возвращаться 0 ;
}
Массивы исходного и целевого массивов сначала определяются в приведенном выше коде. Целевой массив изначально пуст, но исходный массив содержит элементы с 1 по 5. размер() Затем оператор используется для определения размера исходного массива, и результат сохраняется в переменной размера. Содержимое исходного массива копируется в целевой массив.
Выход
Заключение
Язык программирования C предлагает эффективный и надежный способ копирования массивов с помощью память() функция. Его универсальность обусловлена способностью обрабатывать перекрывающуюся память, а благодаря простому синтаксису его можно использовать в любом проекте C.