C++,关键字NULL使用之前必须声明吗?

时间:2021-04-02 20:02:54
首先祝大家元旦快乐。
----------------------------------------------------------------------
用Vsiual Studio编写C++程序的时候,在使用NULL关键字之前,必须使用
#include<stdio.h> 或者 #define NULL O 进行声明吗?
谢谢。

11 个解决方案

#1


NULL并不是C++的关键字

#2


谢谢,我也很喜欢梦璃。

#3


一般不用自己声明

#4


NULL并不是C++的关键字,它可以看一个0的常量,因此用
#define NULL 0
来声明即可,这样代码中凡是出现NULL的地方,编译器会自动用0来代替。

#5


引用 4 楼 MoreWindows 的回复:
NULL并不是C++的关键字,它可以看一个0的常量,因此用
#define NULL 0
来声明即可,这样代码中凡是出现NULL的地方,编译器会自动用0来代替。

NULL一般不用字节定义 头文件已经有了

#6


如果编译器支援,用nullptr即可
int *a = nullptr;比起int *a = 0;更好

#7


一直使用codeblocks的路过。。。

#8


不需要呢。。

#9


NULL不是关键字

int main()
{
    int * a = NULL;

    return 0;
}

g++  -Wall   x.cpp   -o x
x.cpp: In function ‘int main()’:
x.cpp:3: error: ‘NULL’ was not declared in this scope

#10


windows 的头文件里会帮你定义 NULL, 到其他平台就不能用了。

如果跨平台开发就不要用NULL

#11


谢谢大家的回复,我使用如下方式来定义NULL关键字:
#ifndef NULL
#define NULL 0
#endif
------------------------------------------------
此贴已结。

#1


NULL并不是C++的关键字

#2


谢谢,我也很喜欢梦璃。

#3


一般不用自己声明

#4


NULL并不是C++的关键字,它可以看一个0的常量,因此用
#define NULL 0
来声明即可,这样代码中凡是出现NULL的地方,编译器会自动用0来代替。

#5


引用 4 楼 MoreWindows 的回复:
NULL并不是C++的关键字,它可以看一个0的常量,因此用
#define NULL 0
来声明即可,这样代码中凡是出现NULL的地方,编译器会自动用0来代替。

NULL一般不用字节定义 头文件已经有了

#6


如果编译器支援,用nullptr即可
int *a = nullptr;比起int *a = 0;更好

#7


一直使用codeblocks的路过。。。

#8


不需要呢。。

#9


NULL不是关键字

int main()
{
    int * a = NULL;

    return 0;
}

g++  -Wall   x.cpp   -o x
x.cpp: In function ‘int main()’:
x.cpp:3: error: ‘NULL’ was not declared in this scope

#10


windows 的头文件里会帮你定义 NULL, 到其他平台就不能用了。

如果跨平台开发就不要用NULL

#11


谢谢大家的回复,我使用如下方式来定义NULL关键字:
#ifndef NULL
#define NULL 0
#endif
------------------------------------------------
此贴已结。