模拟实现strcpy
原理
- 第一个参数为目标字符数组,第二个参数为源字符串
- 直到源遇到’\0’停止复制
- 返回值为目标字符串地址,便于链式访问
- 需要的头文件
#include <stdio.h>
#include <assert.h>
代码实现
char *my_strcpy(char *dest, const char *src ) //const修饰源防止被更改
{
assert(dest != NULL); //断言防止空指针
assert(src != NULL);
char *ret = dest; //保存目标其实地址,便于返回
while (*src != '\0')
{
*dest = *src;
dest++;
src++;
}
return ret;
}
复制字符的过程可以改进
改进后的代码
char *my_strcpy(char *dest, const char *src )
{
assert(dest != NULL);
assert(src != NULL);
char *ret = dest;
while (*dest++ = *src++);
return ret;
}
- 这样的代码简介高效,库函数中也是这样的思路。