首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问:定义的FILE* F=NULL;在文件close后还需要 F=NULL吗

2013-10-30 
请教:定义的FILE* FNULL在文件close后还需要 FNULL吗?请教:定义的FILE* FNULL在文件close后还需要 F

请教:定义的FILE* F=NULL;在文件close后还需要 F=NULL吗?
请教:定义的FILE* F=NULL;在文件close后还需要 F=NULL吗?以避免野指针?
[解决办法]
close 已经释放了open相关资源!

避免后面,可以置NULL的!
[解决办法]

引用:
Quote: 引用:

close 已经释放了open相关资源!

避免后面,可以置NULL的!

谢谢,是想请教下,close了,还有必要将文件指针赋值NULL吗?


良好的编程习惯的话,是要赋值NULL的!
[解决办法]
引用:
Quote: 引用:

Quote: 引用:

Quote: 引用:

close 已经释放了open相关资源!

避免后面,可以置NULL的!

谢谢,是想请教下,close了,还有必要将文件指针赋值NULL吗?


良好的编程习惯的话,是要赋值NULL的!

能否说说理由?
close是否已经隐式地 “指针=NULL" 了?

这个不一定哦!只是他会释放fopen函数开辟的一些资源而已!fopen和fclose配套使用的!
手动赋值NULL还是比较靠谱的!
[解决办法]
引用:
对指针赋值 NULL 到底代表什么含义?发生了什么动作?
指针指向哪了?
xiexie 


没有指向!就是不指向任何地方!
赋值NULL作用:
1 可以防止野指针的产生,不明白指向哪里乱用出错!
2 可以在后面使用的时候判断是否有效指针!
[解决办法]
良好的习惯还是设为NULL吧,吃过这个的亏的
[解决办法]
跟delete释放指针指向的空间类似,fclose了,最好再将指针置空,这样的话在后续可以通过if( F != NULL)来进行正确的处理,否则if( F!=NULL)就会成立,使用的话会出错。
[解决办法]
引用:
close是否已经隐式地 “指针=NULL" 了?

那是不可能的 
fclose 的参数是FILE指针 
C语言只有传值 fclose 函数 不能修改实参 
所以 实参进去之前值是多少 出来之后值还会是多少 不能被修改为NULL
[宏能实现 但fclose 不是宏实现]
[解决办法]
建议设置为NULL
[解决办法]
置为NULL,然后检查是否NULL,二者配合才能避免野指针。

如果根本,就没有代码再使用那个指针,就不必置为NULL。

置为NULL,如果不检查,还是会有NULL指针的问题。

不置为NULL,没有办法检查,一个指针是否指向有效内存;
无法检测指针是否野指针,但是有法检测指针是否为NULL。

这才是置为NULL的原因。

不检查,直接使用NULL指针,同样会有NULL指针错误。

置为NULL的意思是
1)指针是无效指针。
2)原地址,不再能够通过该指针获得,从而避免乱用指针---即野指针。


[解决办法]
应该置为空吧,防止后面的引用。

热点排行