题目1:
错误之处在于:
1.没有释放内存(free§),内存泄漏
2.malloc之后需要判定 NULL
3.释放完内存之后,需要设为 NULL
4.str没有发生变化还是空指针(函数申请到的内存,并没有正确的被函数外部获取到), 形参是实参的拷贝,直接修改形参不会影响到实参,应该参数传指针。
改进方式如下:
题2:
错误之处:
GetMemory函数结束后,里面的内存都会被释放,所以p的内容也会消失,这个内存在函数结束的时候就释放了,所以在函数外部使用的内存已经是一个被释放了的内存空间,读出来的是一个未定义行为,内存访问越界
题3:
错误之处:
没有释放内存
题4:
错误之处:
free(ste)释放完内存之后,没有手动将NULL赋值给str