C语言的内存分配

  问题:

问题解释:分配内存后并不会输出字符串中的任何东西,释放掉内存并重新分配后字符串“貌似”与原先的一样大

 

解答:问题不在内存分配,而是在于字符串的操作。分配内存后,内存中的字符都是字符串的终结符,所以若未初始化,是不会打印到控制台任何东西。而重新赋值之后,虽然分配的字节减少,但是%s是到字符串的结束符输出才结束,所以输出的仍然是六个。但这并不代表分配给了它六个字节。

 

感谢  猪哥亮  对本文的支持

posted @ 2012-05-21 11:34  Mr. Sun  阅读(163)  评论(0编辑  收藏  举报