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?