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

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

 //strcpy自己实现

 char *strcpy(char *dest, const char *src)
{
assert(dest != NULL && src != NULL);  //判断参数的合法性
char *ret = dest;     //记录原目标地址,用于返回
while( (*dest++ = *src++) != '\0' )   //先拷贝数据,再判断是否结束
;
return ret;
}

为什么要返回char *类型?

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

最新文章

  1. 坑爹坑娘坑祖宗的87端口(记一次tomcat故障排查)
  2. QT常规控件操作备忘
  3. iptables之LOG目标 被拦截包分析
  4. Java内各种进制的表示
  5. C++中指针和引用的区别
  6. Intro to Filtering with Network Monitor 3.0
  7. SAP 物料基本单位与BOM单位
  8. 如何调整 php 应用的上传附件大小?
  9. 51nod1240莫比乌斯函数
  10. 关于GestureDetector.OnGestureListener的onScroll参数distance问题
  11. ssh 依赖关系
  12. 【Android 应用开发】Android 网络编程 API笔记 - java.net 包相关 接口 api
  13. Unity3D学习笔记(四)Unity的网络基础(C#)
  14. 网易云课堂-----Linux内核分析-----期末主观题
  15. 【翻译】View Frustum Culling --2 Geometric Approach – Extracting the Planes
  16. 复杂度O(n)计算
  17. go 异常处理
  18. 时间序列预测——深度好文,ARIMA是最难用的(数据预处理过程不适合工业应用),线性回归模型简单适用,预测趋势很不错,xgboost的话,不太适合趋势预测,如果数据平稳也可以使用。
  19. 原生JS实现AJAX、JSONP及DOM加载完成事件
  20. Discuz论坛post登录C#源码

热门文章

  1. html 页面表单如果是disabled,则不能提交到服务器端,request.getParameter得到的将为null
  2. <转Tanky Woo> 字典树
  3. [转载] 推荐的C++书籍以及阅读顺序
  4. Ubuntu12.04安装YouCompleteMe插件
  5. Linux 查看端口占用并杀掉
  6. SQL注入与Java
  7. Innodb物理存储结构系列2 行记录格式
  8. website architecture
  9. BZOJ 4415 发牌
  10. iOS中第三方框架刷新