![]() |
1
13
您有两个选项:一个,将char*传递给somefunction并使用它,而不是在somefunction中进行分配;另一个,稍后释放返回值。
第二种选择:
我个人建议使用第一种方法,因为当没有在任意函数中分配内存时,可以更容易地避免内存泄漏。 |
![]() |
2
4
当你用完它时,你可以把它释放出来。没有规则规定与malloc()匹配的free()必须在同一个函数中。 |
![]() |
3
2
您应该释放所有分配的空间,但如果您返回它,因为您将在程序的其他部分使用这些内存空间,因此在使用它之后,您应该释放它。查看调用函数的代码中的每个位置,并在使用返回值后释放空间。 |
![]() |
4
2
如果要返回块的地址,不应释放()块,而应依赖调用代码稍后释放()。这被称为在役通过。 如果在函数中释放它并返回指针,则调用代码将运行未定义的行为,试图访问已释放的块。 |
![]() |
5
2
|
![]() |
Community wiki · C中有哪些耗时的操作? 1 年前 |
![]() |
Community wiki · 将所有处理器电源都投入到任务中 1 年前 |
![]() |
Community wiki · C++为C添加了什么?[已关闭] 1 年前 |
![]() |
Community wiki · 打印1到1000,不带循环或条件 1 年前 |