In C, there appear to be differences between various values of zero — NULL, NUL and 0.

I know that the ASCII character '0' evaluates to 48 or 0x30.

The NULL pointer is usually defined as:

#define NULL 0

Or

#define NULL (void *)0

In addition, there is the NUL character '\0' which seems to evaluate to 0 as well.

Are there times when these three values can not be equal?

Is this also true on 64 bit systems?

11 Answers
11

Leave a Reply

Your email address will not be published. Required fields are marked *