源碼如下:
#include
#include
#include
void main()
{
char s1;
char *s2 = "bbb";
char *s3 = "ccc";
s1 = (char)malloc(sizeof(s2));
strcpy(s1, s2);
strcat(s1, s3);
//free(s2);
//free(s3);
printf("%s\n", s1);
getchar();
}
我想把s2和s3的內容放入s1中,然後釋放s2,s3的空間。兩句free哪一句都是會報錯的。求教這種問題如何解決。
"bbb", "ccc"是字符字面量,是存放在靜態數據區的,所以並不需要釋放空間,也無法釋放。