From: utzoo!decvax!genradbo!mitccc!zrm Newsgroups: net.unix-wizards Title: Re: Information on Unix/Vax peculiarities Article-I.D.: mitccc.218 Posted: Mon Dec 13 13:55:41 1982 Received: Wed Dec 15 05:27:49 1982 References: sri-unix.4758 Aw C'mon, people. Its and pointers should be of the same size to keep the compiler implementer sane, and has relativly little to do with code portability. Most machines, even machines that split their arithmetic and address registers (like the 68000) have one uniform size for registers. Because most C compilers bring things into registers and bash on them there, one would like the most commonplace objects to fit nicely into these registers. Ints and pointers should be of a "natural" size. There are enough datatypes to go around so all the other sizes can be covered. Code portability is achieved by guarenteeing sizes, as best as one can in C. The most common way to do this is with defined types. In order to bring up a program, originally on a pdp11, on a machine with 32 bit ints, but 16 bit shorts, you would change one line in the code from typedef WORD int; to typedef WORD short; and all places where size really matters will come out the same. Instead of flaming how about an example where it might actually be useful for there to be 16 bit ints and 32 bit pointers? Cheers, Zig