memcpy指的是C和C++使用的内存拷贝函数,函数原型为
void *memcpy(void *destin, void *source, unsigned n)
函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中,即从源source中拷贝n个字节到目标destin中。
//memcpy() ----模拟实现
void* My_memcpy(void* dest,const void* src,int num){
assert(dest && src);
void* ret=dest;
while(num--){
*(char*)dest = *(char*)src; //访问了一个字节的元素
dest=(char*)dest+1;//dest向后一个字节
src=(char*)src+1;//src向后一个字节
}
return ret;
}
int main(){
int arr1[]={1,2,3,4,5}; //源头字符串
int arr2[5]={0}; //目的地字符串
int sz=sizeof(arr1);
int* p = My_memcpy(arr2,arr1,sz); //拿一个int*类型的指针p来接收返回值
//打印arr2中的内容
int i=0;
for(i=0;i<5;i++){
printf("%d ",*(p+i));
}
return 0;
}