Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site cadre.ARPA Path: utzoo!watmath!clyde!bonnie!akgua!sdcsvax!dcdwest!ittvax!decvax!mcnc!idis!cadre!km From: km@cadre.UUCP Newsgroups: net.lang.c Subject: Re: lint, pointers, 0 (what else?) Message-ID: <250@cadre.ARPA> Date: Thu, 7-Feb-85 16:42:53 EST Article-I.D.: cadre.250 Posted: Thu Feb 7 16:42:53 1985 Date-Received: Mon, 11-Feb-85 06:05:23 EST References: <366@harvard.ARPA> Reply-To: km@cadre.ARPA (Ken Mitchum) Distribution: net Organization: Decision Systems Lab., Univ. of Pgh. Lines: 25 Summary: In article <366@harvard.ARPA> breuel@harvard.UUCP writes: > >Finally, there is no good reason for not having >sizeof(int)==sizeof(char *). 'int' is not guaranteed to be the fastest >integer type around (speedof(int)<=speedof(short) on practically all >machines...). And if you are worried about getting an efficient integer >type portably, why don't you just use 'typedef short EfficientInt;' :-? > >K&R (quoting from my mind) calls 'int' the 'natural' choice for an >integer data type on the target machine. In my opinion, the 'natural >choice' is the size of a pointer (the largest pointer that is). > Indeed? And what about the 8086, or worse yet, 8088? A full pointer is a 20 bit address which must be specified by a 32 bit value (a 16 bit offset and 16 bit segment which overlap for all but 4 bits!). Add to that the 8088, which has 16 bit registers but does transfers 8 bits at a time. What is the "natural" choice for an int on these machines, and why should it have anything at all to do with their pointer architecture? Ken Mitchum cadre.ARPA