Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site abnjh.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxl!abnjh!usenet From: usenet@abnjh.UUCP (usenet) Newsgroups: net.lang.c Subject: Re: pointer question Message-ID: <508@abnjh.UUCP> Date: Fri, 16-Mar-84 17:25:41 EST Article-I.D.: abnjh.508 Posted: Fri Mar 16 17:25:41 1984 Date-Received: Sat, 17-Mar-84 03:43:48 EST References: <140@log-hb.UUCP> Organization: ATTIS, NJ Lines: 22 Another example of a machine where pointers to ints are significantly different from pointers to chars is the Sperry 1100 series. They are also 36 bit word addressable machines with add-ons to the instruction set to allow working with character strings. (Note, I said strings, NOT individual characters -- and no, the latter is not a special case of the former. If you want the details, ask me by email, there is no point in bothering the net with them.) extracting a character from a word in memory is possible, but complicated. Due to 'upward compatibility' mania the basic pointer to integer will fit into a half-word (18 bits) (And yes, this means you cannot have a program bigger than 256K words. And yes, this is a pain. And yes, later models in the series allow you to get around this restriction by standing on your head and spitting thru your teeth, but it is still a pain.) But a pointer to a character string encodes the starting word, the starting character and the character size (usually a quarter word -- 9 bits -- but other sizes are possible, including 6, 12 and 18 bits). All of this uses up most of a 36 bit word. The string length is encoded in a separate word. Rick Thomas. ihnp4!abnjh!usenet ihnp4!abnji!rbt