C++中为什么我用null就报错,而改成NULL就对了呢?

如题所述

一般来说NULL并不算是关键字,NULL在头文件中定义的,把鼠标放上去可以看到#define NULL 0
如果没有include任何头文件,你会发现 NULL未定义过的

关键字是小写的,凡是大写开头的都是在头文件中定义过了的,
这也符合常量用大写来表示的规则
NULL 就是0 跟asc2 是一致的

在java中 NULL应该写成null,
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-18
null不是系统定义的关键字,NULL才是。C和C++都是大小写敏感的语言。
第2个回答  2012-11-18
因为NULL才是关键字,就像if不能写成IF一样
第3个回答  2012-11-18
NULL这个是关键字啊,要区分大小写的O(∩_∩)O~

C++ 空指针是使用NULL 还是nullptr
其次,避免函数重载的混淆。当函数重载接受整数与指针参数时,使用NULL(通常为0)可能导致调用错误版本的函数。nullptr明确指向接受指针参数的函数,减少混淆。再次,nullptr清晰表达空指针意义,增强代码可读性和维护性。综上,C++中使用nullptr而不是NULL表示空指针,符合现代C++的最佳实践。它提供类型安全性...

C++中为什么要尽可能使用0而不是NULL
在C++标准中,我们可以见到一个词语叫做null pointer constant,其实在C++11标准前,是只承认0为null pointer constant的。所以,在C++中,我们也经常能听到一个说法,就是赋予null pointer,应该是使用0,而非NULL。而nullptr pointer constant这个词语在C++11发布后,终于再添了一个成员,就是nullptr。而...

C\/C++中,NULL和null的区别是什么?
C语言和C++对大小写是敏感的,也就知是说null和NULL是区别对待的。NULL(如已宏定义)代表空地址,null(如没宏定义)只是一个符号。1、其实null和NULL都是字符串,具体看它们宏定义被定义成为什么值。2、在VS中NULL被定义为0,因为习惯上把宏定义的所有字符都大写,当把NULL它赋值给指针时意思为空,...

一个C++程序 我一按下0系统就崩溃 怎么改按下0程序就正常结束 说明原因...
p2->next=NULL;return head;\/\/p1、p2、head都指向同一内存区域,而你用delete p1把这内存区释放了,那就衰拉!

C++学习笔记【关于NULL和nullptr】
究其原因,NULL在C语言中等同于((void*)0)而在C++中则直接等同于零。此定义方式源于C语言的特性,它允许void*类型隐式转换为其他指针类型,但在C++中,作为强类型语言,此特性导致了无法执行这种转换。因而NULL适用于C语言,却在C++中使用受限。若使用NULL传递参数至函数,问题又会如何?考虑以下两...

C++中为什么要尽量使用0而不是NULL
但是,要在心中建立起这样的概念,C++编程中,所有的数据对电脑来说,都是2进制的数,无论是数值、字符、图象,最终电脑能认识的,只是一串串的二进制的数,如果进一步的去说,电脑只是认2进制数代表的一个个开关。所以0在某些条件下,就是NULL,就是空。NULL在转化成其它数值时,也就是0。此外,...

C++中为什么要尽可能使用0而不是NULL
???没看懂什么意思,0是指值为0,而NULL表示对象为空。比如说,你声明一个对象 classA a;\/\/classA是你自己创建的一个类。这个a 并没有实例化,那么这个a就为NULL了。

C++中指针初始化为NULL合适吗
如果你暂时不需要让它指向什么东西,那就初始化为NULL是最好的,如果只定义指针不初始化,这个指针就成了"野指针",可能会指向任意的内存,如果你又恰好不小心用了这个指针,可能就会出事

c++中的time(null)为什么要加个null,不加是什么
time();这个函数其实保存的是一个历史时间,所以需要用NULL把这个历史时间清空一下,time()就会自动保存当前时间了。你可以简单的理解为NULL就是给time()初始化。你可以尝试吧null去掉试试

如何理解C++中的NULL?
作为一种风格, 很多人不愿意在程序中到处出现未加修饰的0。因此定义了预处理宏NULL (在和其它几个头文件中) 为空指针常数, 通常是0 或者((void *)0) 。希望区别整数0 和空指针0 的人可以在需要空指针的地方使用NULL。使用NULL 只是一种风格习惯。预处理器把所有的NULL 都还原回0, 而编译还是...

相似回答