В C, по-видимому, существуют различия между различными значениями нуля - NULL
, NUL
и 0
.
Я знаю, что символ ASCII '0'
оценивается как 48
или 0x30
.
Указатель NULL
обычно определяется как:
#define NULL 0
или
#define NULL (void *)0
Кроме того, существует символ NUL
'\0'
, который, как представляется, также оценивается как 0
.
Существуют ли случаи, когда эти три значения не могут быть равны?
Это также верно для 64-битных систем?