|
函数原型
void *memcpy(void *destin, void *source, unsigned n);
参数
- destin-- 指向用于存储复制内容的目标数组,类型强制转换为 void* 指针。
- source-- 指向要复制的数据源,类型强制转换为 void* 指针。
- n-- 要被复制的字节数。
返回值
该函数返回一个指向目标存储区destin的指针。
功能
从源source所指的内存地址的起始位置开始拷贝n个字节到目标destin所指的内存地址的起始位置中。 [2]
memcpy() 并不关心被复制的数据类型,只是逐字节地进行复制,这给函数的使用带来了很大的灵活性,可以面向任何数据类型进行复制。 [5]
需要注意的是:
- destin指针要分配足够的空间,也即大于等于 n 字节的空间。如果没有分配空间,会出现断错误。 [5]
- destin和 source所指的内存空间不能重叠(如果发生了重叠,使用 memmove()会更加安全)。 [5]
所需头文件
C语言:#include<string.h>
C++:#include<cstring>
例如 : c++
stu * student1;
student1 = new stu;
stu student2;
memcpy(&student2,student1,sizeof(stu));
|
|