NULL是定义的一个宏,值为0,属于预处理器的部分,预处理时会直接替换为0
int *p = NULL; //正确
int *p = 0; //正确
int i= 0;
int * p1 = i;//错误,不能将int变量转换为int*
int n = NULL;//正确
int n2 = nullptr;//错误,不能将指针类型赋值给int类型
int *p2 = nullptr;//正确
NULL,nullptr都能使指针为空指针,但是在C++程序中,需要给指针赋值为空指针时,最好使用nullptr