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

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

...全文
29 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
#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
回复
相关推荐
发帖
C语言
创建于2007-09-28

6.3w+

社区成员

C语言相关问题讨论
申请成为版主
帖子事件
创建了帖子
2003-03-12 05:36
社区公告
暂无公告