它的工作方式是:
> Malloc内存大到足以容纳str1和str2的副本
>然后它将str1复制到str3中
>然后它将str2附加到str3的末尾
>当你使用str3时,你通常可以免费使用它(str3);
这是你玩的一个例子.它非常简单,没有硬编码长度.你可以在这里试试:http://ideone.com/d3g1xs
有关char大小的信息,请参阅this post
#include
#include
int main(int argc, char** argv) {
char* str1;
char* str2;
str1 = "sssss";
str2 = "kkkk";
char * str3 = (char *) malloc(1 + strlen(str1)+ strlen(str2) );
strcpy(str3, str1);
strcat(str3, str2);
printf("%s", str3);
return 0;
}