问题:
问题解释:分配内存后并不会输出字符串中的任何东西,释放掉内存并重新分配后字符串“貌似”与原先的一样大
解答:问题不在内存分配,而是在于字符串的操作。分配内存后,内存中的字符都是字符串的终结符,所以若未初始化,是不会打印到控制台任何东西。而重新赋值之后,虽然分配的字节减少,但是%s是到字符串的结束符输出才结束,所以输出的仍然是六个。但这并不代表分配给了它六个字节。
感谢 猪哥亮 对本文的支持