null与NULL

"c语言和c++对大小写是敏感的,也就是说null和NULL是区别对待的。NULL代表空地址,null只是一个符号。"1、"null只是一个符号"是什么意思?符号是"nu... "c语言和c++对大小写是敏感的,也就是说null和NULL是区别对待的。NULL代表空地址,null只是一个符号。"

1、"null只是一个符号"是什么意思?符号是"null\0"?
2、为什么在code中可以直接用if (NULL == str)来判断一个指针是否指向空值?NULL在哪里定义的?
3、有人说:"如果要用NULL,也不要用#define NULL 0,而用const int NULL=0;或者还是用0x0。",这种说法对么?还是说直接用NULL就可以了?

谢谢!
展开
 我来答
可敏怀1
推荐于2017-09-15 · TA获得超过235个赞
知道答主
回答量:30
采纳率:0%
帮助的人:33.1万
展开全部
其实null和NULL都是字符串,看你把它们,宏定义为什么值,在VS中NULL被定义为0,因为习惯上把宏定义的所有字符都大写,当把NULL它赋值给指针时意思为空,当然你也可以把null定义为0了,都一样的啦!它们都没定义时都只能叫符号了,定义后就有另外的意思了,你把0直接赋值给给指针也行,只要指针指向0就为空啦!其实NULL在有些编译器中是赋为0了,这时你不能再去#define定义它了,否则就重定义了!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式