我将给定类型的指针传递给函数。 在我分配所需内存的函数中:
Pointer = (mytype * ) malloc (N* sizeof (mytype));
一切顺利。函数结束后另一个调用指针。
但是之前填充的指针现在没有内存了。
指针不应该保留其已填满的内存吗?
或者函数的结束是否释放内存?
抱歉,我无法粘贴我的代码,因为我在未连接的 PC 上工作。
最佳答案
没有。 malloc 分配的内存不会在函数结束时释放。
否则,那将是一场灾难,因为您将无法编写一个通过为其分配内存、填充数据并将其返回给调用者来创建数据结构的函数。
关于c - 内存是在函数结束时用 malloc 分配还是用 calloc 释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32882118/