The code plainly shows that you are wrong, but since you insist, let's look at the text of C99, which Pelles C is supposed to conform to:Originally Posted by CommonTater
Originally Posted by C99 Clause 6.3.2.3 Paragraph 3 (part)So, NULL is a null pointer constant. 0 is an "integer constant expression with the value 0". Therefore, a conforming standard library implementation may have:Originally Posted by C99 Clause 7.17 Paragraph 3 (part)
Clearly, your statement that "NULL isn't 0" does not always hold true.Code:#define NULL 0
Next, you claim that "it's a pointer to 0", then you show us:
Obviously, ((void*)0) is "an integer constant expression with the value 0 (...) cast to type void *". It is not a pointer to 0, whatever that is since one cannot directly take the address of an integer literal.Code:#define NULL ((void *)0)