关于指针置空

ratzip 2005-07-27 01:11:48
动态申请了一个空间
int *y;
y=new int;

释放后要把指针置为空
那应该是

y=NULL;
还是
y=0;
哪个是正确的???
...全文
564 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bible_Chou 2005-07-28
  • 打赏
  • 举报
回复
推荐使用
……
delete y;
y = NULL;//虽然效果和y=0;一样
xjp6688 2005-07-28
  • 打赏
  • 举报
回复
#define NULL 0
iohui 2005-07-27
  • 打赏
  • 举报
回复
要提高程序的可读性,应用y=NULL;
xsz123 2005-07-27
  • 打赏
  • 举报
回复
NULL
xiaoqiang2005 2005-07-27
  • 打赏
  • 举报
回复
NULL
cimu 2005-07-27
  • 打赏
  • 举报
回复
注意可读性
y = NULL
rockti 2005-07-27
  • 打赏
  • 举报
回复
确切的告诉你:在C++中Null的宏定义就是0。而在C中Null的宏定义是(void*)0
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
有兴趣你可以到c++中查一下Null的宏定义。
所以不存在上面说的意义不一样和习惯的问题。
「已注销」 2005-07-27
  • 打赏
  • 举报
回复
我喜欢用NULL,C++里面,NULL就等于0,不过NULL为指针值,0为整型值,这样一目了然,避免出错。
antter 2005-07-27
  • 打赏
  • 举报
回复
NULL的意义就像false对0的意义。
ljp_0913 2005-07-27
  • 打赏
  • 举报
回复
一般推荐使用null,这是个好的习惯。
ratzip 2005-07-27
  • 打赏
  • 举报
回复
结果一样,意义不一样. 使用NULL是一个更好的习惯
```````````````````````````````````````````````
意义有什么不同???
BellDu 2005-07-27
  • 打赏
  • 举报
回复
结果一样,意义不一样. 使用NULL是一个更好的习惯
XBox360 2005-07-27
  • 打赏
  • 举报
回复
jcqstc(jcqstc) ( )
delete指针后置空是个好习惯,防止野指针
呵呵
XBox360 2005-07-27
  • 打赏
  • 举报
回复
效果是一样的
但是推荐用NULL
这样人家看了一下就明白了
另外顶楼上的
应该先delete
Wolf0403 2005-07-27
  • 打赏
  • 举报
回复
在 C++ 中使用 0 代替 NULL 是一些大师们推荐的方法……不过偶还是喜欢 NULL,嘿嘿。

另外,new 的内存应该用 delete 释放,然后再将指针置NULL
zsd1101897 2005-07-27
  • 打赏
  • 举报
回复
#define NULL 0

y=NULL和y=0不一样嘛~不过一般人都是习惯写y=NULL
jcqstc 2005-07-27
  • 打赏
  • 举报
回复
delete y以后还要把指针置空吗?
megaboy 2005-07-27
  • 打赏
  • 举报
回复
两者结果一样,但y=NULL是更良好的风格。
aa2223 2005-07-27
  • 打赏
  • 举报
回复
置空,就是这样的!
llf_hust 2005-07-27
  • 打赏
  • 举报
回复
都是一样的,NULL本来就等于0
加载更多回复(2)

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧