Изучение функции memcpy в языке программирования C
Функция memcpy в языке C используется для копирования блока памяти из одного адреса в другой. Она имеет следующий прототип:
c
void *memcpy(void *dest, const void *src, size_t n);
где:
- `dest` – указатель на блок памяти, в которую нужно скопировать данные;
- `src` – указатель на блок памяти, из которого нужно скопировать данные;
- `n` – количество байтов, которое нужно скопировать.
Функция возвращает указатель на `dest`.
c
#include
#include
#define BUF_SIZE 1024
int main() {
char src[BUF_SIZE] = "Hello, world!";
char dest[BUF_SIZE];
size_t size = strlen(src) + 1; // размер массива, включая нулевой символ
memcpy(dest, src, size);
printf("src: %s\n", src);
printf("dest: %s\n", dest);
return 0;
}
В этом примере мы объявляем два массива char – `src` и `dest` – и копируем содержимое `src` в `dest` с помощью функции `memcpy`. Размер массива `src` определяется функцией `strlen`, которая возвращает длину строки, а затем увеличивается на 1, чтобы учесть нулевой символ. В конце выводятся на экран исходный и скопированный массивы.