在C中,这是从释放函数返回的内存时更好的做法:
例如,要打开和关闭我们执行的文件:
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)