开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
XCode
问题(Question):
我正在练习写动态内存配置
输入的测资量若是超过现有的空间
就重新索取内存(第100行)
但是索取后正常来说应该要把旧资料free掉(107行)
不知为何free时出现错误
我尝试过如果是在realloc前free资料的话是可以成功free的
可以请问各位前辈们这是什么原因呢?
还是说free函数使用上有什么使用限制吗?
看了置顶13诫第六条我似乎也没有违反,所以真的不知哪里出问题了
“ 但若不是用 malloc() 所得到的内存,则不可以 free()。已经 free()了
所指内存的指标,在它指向另一块有效的动态分配得来的空间之前,不可
以再被 free(),也不可以提取(dereference)这个指标。
”
麻烦大家了,谢谢
错误结果(Wrong Output):
在第107行要free资料时,出现了错误,在XCode上提示为Thread 1:signal SIGABRT
程式码(Code):(请善用置底文网页, 记得排版)
https://ideone.com/VNDh2U