In C: the macro NULL is an implementation-defined null pointer constant, which may be
> an integer constant expression with the value 0
> an integer constant expression with the value 0 cast to the type void*
In C++: the macro NULL is an implementation-defined null pointer constant, which may be
> an integral constant expression rvalue of integer type that evaluates to zero (until C++11)
> an integer literal with value zero, or a prvalue of type std::nullptr_t (since C++11)
In C: the macro NULL is an implementation-defined null pointer constant, which may be
> an integer constant expression with the value 0
> an integer constant expression with the value 0 cast to the type void*
In C++: the macro NULL is an implementation-defined null pointer constant, which may be
> an integral constant expression rvalue of integer type that evaluates to zero (until C++11)
> an integer literal with value zero, or a prvalue of type std::nullptr_t (since C++11)