• 1.摘要
  • 2.基本信息
  • 3.memcpy函数语法
  • 3.1.函数原型
  • 3.2.参数
  • 3.3.返回值
  • 3.4.功能
  • 3.5.所需头文件
  • 4.应用说明
  • 5.区别
  • 6.参考资料

memcpy

内存拷贝函数

memcpy指的是C和C++使用的内存拷贝函数,函数原型为void *memcpy(void *destin, void *source, unsigned n);函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中,即从源source中拷贝n个字节到目标destin中1

基本信息

  • 中文名

    内存拷贝函数

  • 外文名

    memcpy

  • 功能

    拷贝n个字节

  • 返回值

    指向dest的指针

  • 所在头文件

memcpy函数语法

函数原型

void *memcpy(void *destin, void *source, unsigned n);

参数

  • destin-- 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。

  • source-- 指向要复制的数据源,类型强制转换为 void* 指针。

  • n-- 要被复制的字节数。

返回值

该函数返回一个指向目标存储区destin的指针。

功能

从源source所指的内存地址的起始位置开始拷贝n个字节到目标destin所指的内存地址的起始位置中2

所需头文件

C语言:#include<string.h>

C++:#include<cstring>

应用说明

1/3

1.source和destin所指的内存区域可能重叠,但是如果source和destin所指的内存区域重叠,那么这个函数并不能够确保source所在重叠区域在拷贝之前不被覆盖。而使用memmove可以用来处理重叠区域。函数返回指向destin的指针。

2.如果目标数组destin本身已有数据,执行memcpy()后,将覆盖原有数据(最多覆盖n)。如果要追加数据,则每次执行memcpy后,要将目标数组地址增加到你要追加数据的地址。

注意:source和destin都不一定是数组,任意的可读写的空间均可3

区别

1/3