Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!sri-unix!ctnews!pyramid!oliveb!sun!gorodish!guy From: guy%gorodish@Sun.COM (Guy Harris) Newsgroups: comp.arch Subject: Re: *Why* do modern machines mostly hav Message-ID: <25740@sun.uucp> Date: Sun, 16-Aug-87 05:19:37 EDT Article-I.D.: sun.25740 Posted: Sun Aug 16 05:19:37 1987 Date-Received: Sun, 16-Aug-87 22:43:10 EDT References: <2807@phri.UUCP> <101200004@datacube> <1332@killer.UUCP> <8974@beta.UUCP> Sender: news@sun.uucp Lines: 13 > This is also the classic C example of a normal (int, float, etc) pointer > at 18-bits being shorter than a 'char *' at 36 bits. In other words, an array of 10 "int *"s would require 5 words, not 10, and an "int **" would require at least 19 bits (since the address of an "int" * would have to include the address of the word as well as a bit to indicate which halfword it was in)? I'd be surprised if this was the case in any DEC-10 or DEC-20 C implementation. This *is*, however, a case where an "int *" would have a different format from a "char *", although if you ignore the extra byte-pointer stuff you could use a "char *" as an "int *". Guy Harris {ihnp4, decvax, seismo, decwrl, ...}!sun!guy guy@sun.com