函数原型:
void * memcpy ( void * dest, const void * src, size_t num );
函数方法所在的头文件为:
#include <string.h>
在使用memcpy()时,只针对src指针所指的内部数据,按照一个字节一个字节的复制,共复制num个字节到dest指针所指的内存地址上,由于memcpy()只是针对内存的字节,而非数据的类型,所以在使用时非常灵活。
但是在使用memcpy()时也要注意给dest分配足够大的空间,至少不能小于num个字节所占的空间,如果没有分配足够大的空间后出现错误。
在使用时当然dest和src两个指针所指的内存空间不能有重叠,否则可能会发生错误,如果真的有需求,不妨可以使用memmove()。
使用strcpy()时会在遇见“\0”时结束复制,而memcoy()则会直到完整复制完num个字节后才会结束。
使用memcpy()返回地dest指针是一个void空指针,这是因为memcpy()注重字节的复制,即专注数据,而忽略类型,所以在使用获得的数据时,需要根据自己的需要,对指针类型进行强制类型转换。