c - 分配给参数指针的空闲内存

标签 c pointers memory-management malloc dynamic-memory-allocation

假设我有一个函数

int myfunction(char *s)

在该函数中,对s指向的字符串进行操作,返回值为错误码。

假设传递的指针已经指向malloc() 内存。在函数顶部释放此内存是我的责任(开发库),还是库用户不知道此函数将调用 malloc() 或相关并设置 s 指向那里?

最佳答案

通常的契约(Contract)是执行malloc 的人是执行free 的人。

还要考虑到指向的数据可能一开始就没有被malloc。可以在堆栈上

关于c - 分配给参数指针的空闲内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26159667/

相关文章:

c - Xcode C读取用户文本文件

c - rsh 正在删除双引号

swift - pointee 属性在 swift 中有什么作用?

python - 在不耗尽 RAM 的情况下使用 Concurrent Futures

java - 为什么在 ByteBuffer 中可以直接分配字节,而不能在 FloatBuffer 中分配 float

C (std=c99) 指向结构内存分配的指针

c++ - 仅在一定限制之前释放二维指针数组的内存

c++ - V8 回调,用数字代替字符串

iphone - 如何在 textView 中显示字符串而不是地址

c - read()/recv() 成功但缓冲区未更改且为空