1.malloc:
当malloc里参数为0时,系统还是会分配空间,并不会返回NULL。返回NULL的原因只有分配内存失败。
2.’/0’的问题:
用char*来为字符串分配空间时,如果串的长度为len,malloc函数里的参数为len+1,多分配的一个字节用来填写/0。不填在电脑上输出的时候没问题,在oj上就挂了。还是养成这样的习惯吧。
今天遇到的这两个问题都是在做十分简单的题时出现的。平时coding时太不注意细节,orz。
本文探讨了在C语言中使用malloc函数时应注意的细节,包括当参数为0时的行为及为字符串分配空间时如何正确处理终止符'/0'。作者通过实际编码经验分享了这些细节的重要性。
当malloc里参数为0时,系统还是会分配空间,并不会返回NULL。返回NULL的原因只有分配内存失败。
用char*来为字符串分配空间时,如果串的长度为len,malloc函数里的参数为len+1,多分配的一个字节用来填写/0。不填在电脑上输出的时候没问题,在oj上就挂了。还是养成这样的习惯吧。
今天遇到的这两个问题都是在做十分简单的题时出现的。平时coding时太不注意细节,orz。
1083
7696
2279
1690

被折叠的 条评论
为什么被折叠?
