c - 内存是在函数结束时用 malloc 分配还是用 calloc 释放?

标签 c pointers dynamic-memory-allocation

我将给定类型的指针传递给函数。 在我分配所需内存的函数中:

Pointer = (mytype * ) malloc (N* sizeof (mytype));

一切顺利。函数结束后另一个调用指针。

但是之前填充的指针现在没有内存了。

指针不应该保留其已填满的内存吗?

或者函数的结束是否释放内存?

抱歉,我无法粘贴我的代码,因为我在未连接的 PC 上工作。

最佳答案

没有。 malloc 分配的内存不会在函数结束时释放。

否则,那将是一场灾难,因为您将无法编写一个通过为其分配内存、填充数据并将其返回给调用者来创建数据结构的函数。

关于c - 内存是在函数结束时用 malloc 分配还是用 calloc 释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32882118/

相关文章:

C-ares 获取 ns 记录

将变量连接到另一个变量

c++ - C++中的静态和动态数组有什么区别?

c - 如何在C中动态分配名称数组?

c - 内存泄漏结构字符 C

c - 如何将 NULL 分配给结构成员

c - 指针给出了意想不到的值(value)

C# 指针 Console.WriteLine 中的 X 表示什么?

c++ - 指针 vector 和值 vector 之间的差异

c - 将数字输入动态数组