有指针变量p1,p2,p1="abc";p2="abc".strcat(p1,p2)如何理解

问题描述:

有指针变量p1,p2,p1="abc";p2="abc".strcat(p1,p2)如何理解
strcat函数的参数只能是数组吧?正确的应该是strcat(*p1,*p2)吧?

strcat的函数定义如下:
char *strcat(char *dest,char *src);
用法  #include//在C++中,则存在于头文件中.
功能  把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'.
说明  src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.
返回指向dest的指针.
-------------
由上可知,参数1和2都是char类型的指针,所以正确的调用方法是strcat(p1,p2)
但要注意“src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串.”