小编Kai*_*Kai的帖子

释放从C函数返回的内存

在C中,这是从释放函数返回的内存时更好的做法:

  • 提供一个"析构函数"函数,封装对free()的调用.
  • 要求用户自己释放()返回的指针.

例如,要打开和关闭我们执行的文件:

FILE* f = fopen("blah", "w");
fclose(f);
Run Code Online (Sandbox Code Playgroud)

这更适合:

FILE* f = fopen("blah", "w");
fclose(f);
free(f);
Run Code Online (Sandbox Code Playgroud)

警告:不要在FILE指针上调用free().我只在这里使用它假设的实现.

那么局部变量指向返回的内存的情况呢?免费()有害吗?(或者也许永远不应该这样做)

FILE f = &fopen("blah", "w");
fclose(&f);
Run Code Online (Sandbox Code Playgroud)

c free file

5
推荐指数
3
解决办法
2587
查看次数

标签 统计

c ×1

file ×1

free ×1