Path: utzoo!utgpu!utcsri!jarvis.csri.toronto.edu!dgp.toronto.edu!flaps From: flaps@dgp.toronto.edu (Alan J Rosenthal) Newsgroups: comp.lang.c Subject: Re: Long Chars Message-ID: <8803250401.AA01184@champlain.dgp.toronto.edu> Date: 25 Mar 88 04:01:16 GMT Article-I.D.: champlai.8803250401.AA01184 Posted: Thu Mar 24 23:01:16 1988 References: <7447@brl-smoke.ARPA> <439@splut.UUCP> Organization: University of Toronto Lines: 15 *sigh*... it took me a full year of the start of my C career to decide finally that sizeof(char) really was guaranteed to be 1, due to the constraint that all objects were made up of chars (i.e. a char * can traverse any object), recently formally formalized by ANSI, previously informally formalized by the existence of memcpy() / bcopy() and friends. Why do you need to make sizeof(char) == 2 just to make chars 16 bits? Make chars 16 bits, keep sizeof(char) == 1, also make sizeof(int) == 1 and sizeof(long) == 2, etc. If ANSI requires plain char to be signed in all implementations in which sizeof(char) == sizeof(int), we're all set. ajr -- If you had eternal life, would you be able to say all the integers?