memmove函数实现2

来源:互联网 发布:西南大学官网网络教育 编辑:程序博客网 时间:2024/06/05 20:51
#include<stdio.h>#include<stdlib.h>typedef unsigned int uint;void* my_memmove(void* p,const void* q,uint len){ void*ret=p; char* p1=(char*)p; char* q2=(char*)q; if((p1>q2)&&(p1<q2+len)) {  while(len--)  {   *(p1+len-1)=*(q2+len-1);  } } else {  while(len--)  {   *p1=*q2;   p1++;   q2++;  } } return ret;}int main(){ int s[]={1,2,3,4,5,6}; int i=0; my_memmove(s+3,s+2,3*sizeof(int)); for(i=0;i<sizeof(s)/sizeof(s[0]);i++) {  printf("%d ",s[i]); } system("pause"); return 0;}

本文出自 “liveyoung” 博客,转载请与作者联系!

0 0
原创粉丝点击