读书人

quot;=quot; 右边可以是NULL吗?解决思路

发布时间: 2012-03-14 12:01:12 作者: rapoo

"=" 右边可以是NULL吗?
可以

int x=NULL;

这样对吗?

谢谢

[解决办法]
NULL只用在指针那里。
[解决办法]
可以。。。
[解决办法]
应该是没错把,相当于x=0? 但是最好不要这样写,因为NULL是给指针用的
[解决办法]
NULL应该是被宏定义的一个东西吧,被宏定义成了0,你写为int x = NULL;实际上就会强转为int x = 0;
[解决办法]
NULL被宏定义为0,实际上就是把0直接赋值给x
[解决办法]
可以的,声明一个变量x,关键是编译时会java自动包装功能,会把x包装成Integer对象,所以使x指向NULL当然是没问题的。
[解决办法]
NULL = 0
int x = NULL;
====>
int x = 0
[解决办法]
自己试一下~
[解决办法]
可以是可以,但会产生误导
[解决办法]
完全没有问题
[解决办法]
用0不是更直接?

LZ被指针害怕了。。。。。。。。。。。
[解决办法]
#define NULL 0
[解决办法]
The macro NULL is an implementation-defined C + + null pointer constant in this International Standard
(4.10)

==========

与实现相关的。
标准只保证了是个指针常量,没说是0

所以int x=NULL;是错的。
[解决办法]
NULL 未必是0

现在才知道。。。






探讨

The macro NULL is an implementation-defined C + + null pointer constant in this International Standard
(4.10)

==========

与实现相关的。
标准只保证了是个指针常量,没说是0

所以int x=NULL;是错的。

[解决办法]
int x=null
相当于 int x=0
[解决办法]
可以的
在判断指针是否存在都喜欢用NULL的,例如标准编程里面声明一个指针
double *pdData;都习惯给赋予NULL如:double *pdData=NULL;
同时判断指针正确与否也是用NULL而不建议如下写:
if(pdData)
应该写成
if(NULL == pdData)
[解决办法]
可以是可以,如果编译器定义的NULL就是0的话.但在很多编译器里,NULL的类型是void*,所以如果做右值赋给变量,编译器会显示警告的,你可以看看stdio,stdlib里面,都有定义NULL的
[解决办法]
有说可以,有说不可以,到底该听谁的
[解决办法]
探讨

有说可以,有说不可以,到底该听谁的

[解决办法]
在C语言的头文件stddef.h中,NULL的定义如下:
#define NULL ((void *)0)
所以在某种条件下看是没错的。
但是在不同的编译条件下,也得看NULL是如何定义的,本身NULL是被定义描述一个空指针的。咱就不要多此一举用它初始化变量了,可能会造成不可知的错误。

读书人网 >C++

热点推荐