通过堆空间实现动态大小变化的字符数组
示例:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ()
{
char a[] = "hellofsjfhjfhskgt";
char b[] = "abcdefgsdfkggkgkshgthdn";
char *p = malloc(strlen(a) + strlen(b) +1);
strcpy(p,a);
strcat(p,b);
printf("%s\n",p);
free(p);
return 0;
}
输出结果:
使用堆可以完美利用内存,不会有一点浪费,而使用栈,内存不是过大就是过小。但是栈的优点就是维护容易。