strcat()函数的内存管理
函数格式char *strcat(char *dest, const char *src)
使用这个函数要保证 dest分配的内存足够存放dest和src;
举个例子:
这样得到结果:你输入长度不对:1111111100000000
看起来没什么问题,但是尝试减小数组a的值:
直到减小到9,还是能正常输出,这是因为b把指针指向了a数组最后的空字符位置,
既然放的只是指针,我们就可以延长b的数组,我们试试:
我们延长到9位,发现报错了;我们看看当前编译器指针的大小;
指针大小为8字节;所以可以在b中写入8字节而不会出错;如果超过8字节就需要再扩大a的大小才行。现在可以对strcat()准确的分配内存了。