Chinaunix

标题: memcpy源码分析 [打印本页]

作者: liumilan2009    时间: 2013-07-20 17:31
标题: memcpy源码分析

void *my_memcpy(void *dest,const void *src,int len)
{
    assert( dest!=NULL || src!=NULL||len!=0);
    char *d = (char*)dest;
    char *s = (char*)src;
    while(len--)
    {
       *d++=*s++;
    }
    return d;
}
int main()
{

    char a[] = "hello word";
    char b[20] = "";
    char *result = NULL;
    result = my_memcpy(b,a,sizeof(a));
    printf("%s\n",result);
    return 0;
}


自己测了memcpy代码,若return dest,result值为hello word.若return d,result 为空。照理说return d的话,应该也要为hello word啊,为什么为空了?


作者: small_bee    时间: 2013-07-20 20:52
因为d++
七个字
作者: bikong0411    时间: 2013-07-21 23:10
楼上所言甚是啊
作者: liumilan2009    时间: 2013-07-22 09:48
恍然大悟啊




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2