strcpy()函数在c语言中的原型是
char *strcpy(char *str1, *str2)
{
char *p =str1; v//用p保存str1接收来的实参字符数组的首地址
while(*str1++ = *str2++)
return(p); return地址,然后通过函数名返回指针值
}
探究一下对其中的理解。
1.此函数为返回值为指针类型的指针函数(返回前边字符串的地址),属于指针函数的应用。
2. 在这里注意辨析strcpy()与strcat()函数的区别 (有无覆盖)
1、strcat是用来连接两个字符串的,原型是char *strcat(char *dest,char *src),作用是把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。 2、strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间。 3、注意strcat是从dest的结尾处开始操作的,而strcpy是直接覆盖dest指向的内容。
注: strcat()函数的原型是
char*strcat(char *s1, char*s2)
{
int *p=s1;
while(*s1) s1++;//s1指到'\0'时循环结束
while(s1++ = s2++);
return p; //通过函数名返回指针值
}
3.在strcpy()原型中,有一个很好的方法是用指针p存放初始地址值,直接返回p即可。
char *p =str1; //用p来保存str1接收来的实参字符数组的首地址。