要包含头文件stddef.h,因为定义在该文件中
NULL宏是定义在标准库头文件stddef.h中。宏定义如下:undef NULL #if defined(__cplusplus)#define NULL 0#else#define NULL ((void *)0)#endif可以看出c++中 NULL为(int)0 , C中NULL为(void*)0。看来C和C++中NULL宏的值略有不同。
在C 语言中,NULL 是一个预定义的宏,通常被定义为 (void *)0 或者是一个整数值0。一般定义在 stdio.h 或 stddef.h 头文件中,形如: #define NULL ((void *)0) NULL 主要用来表示一个指针变量没有指向任何有效地址,也就是空指针(null pointer)。空指针可以用于条件语句的判断,比如检查一个指针是否已经被...
Learn C++、C 和汇编程序 使用英语阅读 保存 添加到集合 添加到计划 打印 Twitter LinkedIn Facebook 电子邮件 NULL (CRT)项目 2023/10/19 7 个参与者 反馈 NULL 是与许多指针操作和函数一起使用的 null 指针值。 它等效于 0。 在下列标头文件中定义 NULL:CRTDBG.H、LOCALE.H、STDDEF.H、STDIO.H、...
在C语言中,我们常常用NULL作为指针变量的初始值,而在C++中,却不建议你这么做。 NULL是什么 在《》一文中,我们已经知道了在C中NULL是什么,在C的头文件中,通常定义如下: #defineNULL ((void*)0) 但是在C++中,它是这样定义的: #defineNULL 0 或者你可以在stddef.h看到完整的这段: ...
答:C语言中常数0和(void*)0都是空指针常量;C++中(暂且忽略C++11)常数0是,而(void*)0 不是。#3,#4 问:NULL宏是在哪里定义的? 答:通常是在C标准库的<stddef.h>头文件中,不过别的头文件中可能也有定义。 问:一般编译器的<stddef.h>头文件中NULL宏是如何定义的?
NULL,0,nullptr值都是0,但是类型不同,但是由于C头文件中NULL定义宏混乱,可能是int 0,也可能是(void*)0; 所以在C++11及以后的标准中引入新的空指针nullptr,nullptr就是(void*)0,所以在C++中空指针统一用nullptr。 2.NULL的详细解释 NULL 实际是一个宏,在传统的 C 头文件 (stddef.h) 中,可以看到如下代码...
NULL不是C语言基本类型,其定义在stddef.h文件中,作为最基本的语言依赖宏存在。但是随着C/C++的发展,很多文件只要涉及了系统或者标准操作都会将NULL作为标准宏声明或者包含。所以几乎包含任意的C++标准头文件都会把这个宏引入。 其定义在cstddef文件中。 其实编译器有内置的NULL类型,比如__null等...
null ,必须要大写 NULL c和c++是区分大小写的 而且要加头文件 #include <stdio.h>,另外其他很多头文件也包含了 <stdio.h> 这个头文件,比如 <iostream> 就包含了这个头文件,你加上它也行