c - fclose 和 free 的顺序

标签 c file free

我们应该在关闭文件之前释放内存吗? 比如我打开一个文件a,分配一个数组b,那么为什么我们要在fclose(a)之前释放b呢?如果我们不这样做会发生什么?

最佳答案

没有要求您必须在调用 fclose 之前释放分配的内存。

您可以:

  1. 打开文件
  2. 分配内存
  3. 读取数据
  4. 关闭文件
  5. 使用分配的内存
  6. 释放内存

没有任何问题。

关于c - fclose 和 free 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851784/

相关文章:

c - 为什么打印带有 %s 的字符会出现段错误?

c - C atoi 函数中的潜在错误

file - 使用 awk 连接两个文件

objective-c - 在 MacOS 10.10 上监视文件系统事件

c - 释放链表时内存泄漏

c - MISRA C 2012 - 规则 21.1 - 以下划线开头的宏

mysql - 基于文件访问mysql数据库

我可以通过引用偏移指针来 free() 吗?

c - Malloc 没有分配我告诉它的那么多内存(我相信)

c - GCC 编译器无法找到 pcre.h