?
Нет, в си NULL это nullpointer constant, которая определяется реализацией
https://godbolt.org/z/aehPMxY4b еслит это константный нулпоинтер то почему при сравнении с нулем выдает тру?
Потому что по стандарту null pointer constant должна иметь нулевое значение. И это не константный нулпоинтер, а константа нулевого указателя, немного всё-таки разные вещи.
то есть если я в коде везде мнесто NULL буду использовать 0 могу я столкнуться с проблемами? или будет работать идентично?
Нет, это не будет работать идентично, нул поинтер констант это часть языка, а не просто нулевой указатель, т.е. для него поведение некоторых конструкций языка отличается, поэтому важно, чтобы компилятор точно понимал, что это именно он, а не рандомный 0.
Обсуждают сегодня