![47665df2253c59ca9f742b371a34bdfd.png](https://i-blog.csdnimg.cn/blog_migrate/d61b294778efaaf2db458ab5a111c340.png)
目录
一、strcpy的代码实现
二、为什么要返回char *?
三、假如考虑dst和src内存重叠的情况,strcpy该怎么实现
四、strcpy和memcpy
五、memcpy和memove
已知strcpy的原型是char * strcpy(char *strDest, const char *strSrc);
(1)实现strcpy函数
(2)解释为什么要返回char*
(3)假如考虑strDest和strSrc内存重叠的情况,strcpy该怎么实现
一、strcpy的代码实现
char * strcpy(char *strDest, const char *strSrc)
{
assert((strDest != NULL) || (strSrc != NULL));
char *address = strDest;
while((*strDest++ = *strSrc++)!='0');
return address;
}
注意:strDest和strSrc是形参作用域和生命周期仅限于函数体内,虽然*strDest++ = *strSrc++ 一直加