LINUX.ORG.RU

[C] nonzero null pointers

 


0

0

Помнится, не так давно промелькало обсуждение стандарта С, и его довольно расплывчатых словах относительно нулевых указателей и указателей на разные типы данных:

http://www.linux.org.ru/forum/development/4150703

Думаю, участникам той дискуссии может показаться любопытной эта ссылка:

http://www.c-faq.com/null/machexamp.html

Для Ъ: по ссылке упомянаются машины, у которых нулевые указатели не нулевые, итп.

★★★★

выходит даже x == ((char*)(int*)(((char*)x)+1))-1 - не всегда

gavv
()

According to the language definition, an ``integral constant expression with the value 0" in a pointer context is converted into a null pointer at compile time. That is, in an initialization, assignment, or comparison when one side is a variable or expression of pointer type, the compiler can tell that a constant 0 on the other side requests a null pointer, and generate the correctly-typed null pointer value. http://www.c-faq.com/null/null2.html

ntp
()
Ответ на: комментарий от true_admin

> И хоть одну из этих архитектур глазами видел?

Руководствуясь ровно таким же соображением, народ раньше вовсю кастил указатели к инту и делал прочие подобные непристойности.

const86 ★★★★★
()

что сказать то хотел, Методий?

dilmah ★★★★★
()
Ответ на: комментарий от const86

Не надо за меня додумывать.

Вопрос был конкретный: есть ли живые примеры таких машин. Ответ: есть, но в музее.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.