理解 strcpy方法

匿名 (未验证) 提交于 2019-12-02 23:54:01
1 char* strcpy(char* strDest, const char* strSrc) 2 { 3  assert((strDest!=NULL) && (strSrc !=NULL));  //strDest和strSrc不为空 4  char* address = strDest;      //保存strDest,用于返回 5  while( (*(strDest++) = *(strSrc++)) != '\0' );  //逐个字符赋值 6  return address;         //返回地址     7 }

注意:

1、栈上的char数组,数组名就是一个指针,这个指针的指向不能修改,也就是不能加加减减或者赋值,可以通过[]访问数组元素。

2、文本字符串赋值给char指针,这个指针指向的内容不能修改。

3、调用strcpy方法的时候,要保证:

  a、保证两块内存没有重合的地方;

  b、strDest最好有刚刚好的内存,可以容纳strSrc的内容。如果strDest内存大了,造成浪费。如果strDest内存小了,溢出,占到其他的内存,导致未定义行为。

转载于:https://www.cnblogs.com/nzbbody/p/3565176.html

文章来源: https://blog.csdn.net/weixin_30542079/article/details/99234286
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!