Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site rabbit.UUCP Path: utzoo!linus!decvax!harpo!eagle!alice!rabbit!mjs From: mjs@rabbit.UUCP Newsgroups: net.lang.c Subject: Re: bit fields in C Message-ID: <1794@rabbit.UUCP> Date: Sat, 13-Aug-83 11:13:28 EDT Article-I.D.: rabbit.1794 Posted: Sat Aug 13 11:13:28 1983 Date-Received: Sat, 13-Aug-83 19:49:28 EDT References: <631@ihuxf.UUCP> Organization: Bell Labs, Murray Hill Lines: 27 Independent of what K&R says, real compilers may or may not adhere. On many compilers, the program below prints: "sbit: -1; ubit: 1". Thus, many real compilers do not compile C. /* ** bits.c: determine signedness of signed and unsigned bit fields. */ struct sbit { int sbit : 1; }; struct ubit { unsigned ubit : 1; }; main() { struct sbit sbit; struct ubit ubit; sbit.sbit = 1; ubit.ubit = 1; printf("sbit: %d; ubit: %d\n", sbit.sbit, ubit.ubit); exit(0); } -- Marty Shannon UUCP: {alice,rabbit,research}!mjs Phone: 201-582-3199