Path: utzoo!attcan!uunet!nih-csl!lhc!ncifcrf!haven!uflorida!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!wuarchive!udel!princeton!stroke.Princeton.EDU!pfalstad From: pfalstad@stroke.Princeton.EDU (Paul John Falstad) Newsgroups: comp.lang.c Subject: Re: sizeof() confusion Message-ID: <3950@idunno.Princeton.EDU> Date: 9 Nov 90 02:09:19 GMT References: <9156@latcs1.oz.au> <27432@mimsy.umd.edu> <2665@cirrusl.UUCP> Sender: news@idunno.Princeton.EDU Organization: Princeton University, Princeton, New Jersey Lines: 20 In article <2665@cirrusl.UUCP> dhesi%cirrusl@oliveb.ATC.olivetti.com (Rahul Dhesi) writes: > char c; > c = 'c'; /* char variable holds char value */ > printf("sizeof c = %d\n", sizeof c); > printf("sizeof 'c' = %d\n", sizeof 'c'); > printf("sizeof (char) = %d\n", sizeof (char)); It prints: sizeof c = 1 sizeof 'c' = 4 sizeof (char) = 1 Which is no real surprise if you know that 'c' is not a char. Character literals are really ints. -- Paul Falstad, pfalstad@phoenix.princeton.edu PLink:HYPNOS GEnie:P.FALSTAD "Your attention, please. Would anyone who knows where the white courtesy phone is located please pick up the white courtesy phone."