strcpy()与strcat()在c语言中

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接收来的实参字符数组的首地址。

猜你喜欢

转载自blog.csdn.net/kkkkde/article/details/80167487