Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!cmcl2!phri!dolphy!jmg From: jmg@dolphy.UUCP (Jeffrey Greenberg) Newsgroups: comp.sys.ibm.pc Subject: Re: ** Re: MSC 4.0 Large Model ** NULL isn't always 0 Message-ID: <158@dolphy.UUCP> Date: Wed, 31-Dec-69 18:59:59 EDT Article-I.D.: dolphy.158 Posted: Wed Dec 31 18:59:59 1969 Date-Received: Sun, 23-Aug-87 22:15:08 EDT References: <10400006@altger.UUCP> <72@cunixc.columbia.edu> <1014@bsu-cs.UUCP> <3352@zen.berkeley.edu> <4291@teddy.UUCP> <3370@zen.berkeley.edu> Organization: What Can I Say To You? Lines: 18 /**/ You SHOULD use NULL instead of 0 or 0L etc. because things like char *x; x = (char *) NULL; does not mean that the address that x is pointing to is address 0. It is not true on all machines... Any code you write like this won't run on a Sun machines to name one. This is a machine/OS dependency. If you do things like, char *x, dog; if( !x ) /* This is wrong... not portable */ x = &dog; because it is not true between machines/os and your code will fail. The unspeakable 'far' & 'near' stuff that microsoft uses is a kludge for dealing with 16bit machines and 32bit addressing.