Is (int *)0 a null pointer?
问题 This could be thought of as an extension to this question (I'm interested in C only, but adding C++ to complete the extension) The C11 standard at 6.3.2.3.3 says: An integer constant expression with the value 0, or such an expression cast to type void * , is called a null pointer constant. What my take on this personally is that 0 and (void *)0 represent the null pointer, whose integer value may not actually be 0, but that doesn't cover 0 cast to any other type. But, the standard then