strcpy()的实现

看到有一个博客讲的比平时理解的更深入,mark一下:strcpy函数的实现

 

这里只写平时理解的,三个要点:

 1 //strcpy自己实现
 2 
 3 char *strcpy(char *dest, const char *src)
 4 {
 5     assert(dest != NULL && src != NULL);  //判断参数的合法性
 6     char *ret = dest;                            //记录原目标地址,用于返回
 7     while( (*dest++ = *src++) != '\0' )    //先拷贝数据,再判断是否结束
 8         ;
 9     return ret;
10 }

 

为什么要返回char *类型?

答:能够支持链式表达式,比如int len = strlen(strcpy(strA, strB));

posted @ 2014-08-17 15:30  阿杰的专栏  阅读(689)  评论(3编辑  收藏  举报