NULL , 0 与(类名*)0 ?到底哪个正确?

kwest 2003-03-12 05:36:45
最近看到钱能C++大学教程上的一个例子
pNext是一个类类型指针
在插入链表结束后,上面是把 pNext=0;
是不是不合适? 如果 pNext=NULL;
但NULL是这样定义的:#define NULL (void*)0
这样做也好象不合理啊。
那是不是应该这样做呢:pNext=(类名*)0;

...全文
73 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
用户 昵称 2003-03-13
  • 打赏
  • 举报
回复
#define NULL void * 0;
maurice1983 2003-03-13
  • 打赏
  • 举报
回复
等于0是绝对正确的!
其实不管是0,还是NULL,还是别的什么!
编译器都帮你做了很多的事情,至于怎么做的,不必过多的去专,知道一些就行!

在vc中0就是定义的空指针!
hddhddhdd 2003-03-13
  • 打赏
  • 举报
回复
这种细节很多

其实我们完全可以自己调试

过多地注重细节不好
leasun 2003-03-12
  • 打赏
  • 举报
回复
教主说应该是0,NULL的定义是:
const int NULL = 0;
windcsn 2003-03-12
  • 打赏
  • 举报
回复
通常使用0是肯定正确的,NULL在有的环境中没有定义,但大部分环境把他定义成和0或(void * )0等价
TopCat 2003-03-12
  • 打赏
  • 举报
回复
0或NULL都对。

NULL在C++里是这么定义的:
#ifdef __CPLUSPLUS
#define NULL 0
#else
#define NULL (void *)0
#endif

70,024

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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