C语言中strcpy()函数的使用详解

1、strcpy函数的各个参数介绍

char* strcpy (char* destination,const char* source)

①函数名为strcpy

②返回值类型为char*,返回的是目标空间的起始地址

③函数的参数列表中有两个地址,第一个是目标空间的地址,第二个是源字符串的地址。

2、strcpy函数的作用

strcpy函数的作用就是将一个字符串拷贝一份,这两个字符串内容是相同的,在内存中也是有两份这个字符串。

3、strcpy函数的细节分析

①strcpy函数在拷贝的时候,将源字符串的‘\0’也拷贝到了目标空间

②目标空间的空间必须足够大,可以装得下拷贝的这个字符串。

③源字符串必须是以'\0'结尾的。

代码分析如下:

#include
#include
int main()
{
	char ch1[] = "****************";
	char ch2[] = "abcdef";
	strcpy(ch1, ch2);
	printf("%s\n",ch1);
	return 0;
}

C语言中strcpy()函数的使用详解_第1张图片

以上代码和数据监视图可证,strcmp函数拷贝时,会将源字符串的'\0'也拷贝到目标空间。

第②条,如果目标空间不足够大,编译器会报错误,这里就不作演示了,可以自行检验。

第③条,如果源字符串不是以'\0'结尾,这种情况可以建立字符数组,然后初值赋多个单个字符,然后将数组传递给strcpy函数,经过验证,程序虽然没有挂掉,但是程序也没有输出。代码如下,也可以自行验证。

#include
#include
int main()
{
	char ch1[20];
	char ch2[] = {'a','b','c'};
	strcpy(ch1, ch2);
	printf("%s\n",ch1);
	return 0;
}

4、strcpy函数的模拟实现

char* my_strcpy(char* des, const char* sou)
{
	char* p = des;
	while (*p++ = *sou++);
	return des;
}

你可能感兴趣的:(库函数解析,c语言,开发语言)