原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include <string.h>
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。可以拷贝任何类型的对象,因为函数的参数类型是void*(未定义类型指针),也就是说传进去的实参可以是int*,short*,char*等等,但是由于函数拷贝的过程是一个字节一个字节的拷贝的,所以实际操作的时候要把void*强制转化为char*,这样在指针加的时候才会保证每次加一个字节
性能:在memcpy大内存(MB单位)按Page页大小拷贝相同的数据效率能提升很多。按4K页大小拷贝,不存在跨页和新的地址转换操作,节省了时间开销。例如拷贝4MB大小的数据,让memcpy一次拷贝4KB(正好为LinuxPage页大小),共拷贝1024次,比直接拷贝4MB效率高很多。
拓展阅读: