if (p) ...
Roger Klorese
roger at celtics.UUCP
Thu Oct 17 08:08:40 AEST 1985
In article <2098 at brl-tgr.ARPA> harged%ti-eg.csnet at CSNET-RELAY.ARPA (Richard_Hargrove) writes:
>
>means, whether it is good style, &c... is overlooking something.
>Nowhere in K & R is the meaning of the distinguished constant
>NULL defined. I thought its definition was implementation
>dependent. It just so happens that all implementations I know of
>use 0 (or 0L). But nothing *requires* this.
In fact, I've worked in an environment (PRIMOS and other Multics-style systems)
with segmented addressing schemes (and demand-paged virtual memory) wherein
the definition of a NULL pointer was any address in the designated-highest-
possible segment (defined as octal 7777). Thus, for C to see a pointer as
null required conversion from 7777/0 to 0 (or seg 0 loc 0, which is a valid
address) and back again!
In summary:
YEAH, a portable test is necessary that does not depend on NULL being ZERO.
--
--------------------------------------------------------------------------------
| ... "What were you expecting, rock'n'roll?" |
|Roger B.A. Klorese |
|Celerity Computing, 40 Speen St., Framingham, MA 01701, (617) 872-1772 |
|UUCP: ARPA: |
|decvax-\ bang-\ celerity!celtics!roger at sdcsvax.ARPA |
|ucbvax--\ akgua-\ |
|ihnp4----\-sdcsvax-\-celerity!celtics!roger - or - |
|- or - celtics!roger at bu-cs.ARPA |
|seismo----\harvard---\bu-cs!celtics!roger |
--------------------------------------------------------------------------------
More information about the Comp.lang.c
mailing list