Path: utzoo!utgpu!water!watmath!clyde!rutgers!sri-spam!sri-unix!husc6!bloom-beacon!gatech!hubcap!ncrcae!ncr-sd!hp-sdd!hplabs!hpda!hpesoc1!hpcllla!hpclisp!hpclsue!sue From: sue@hpclsue.HP.COM (Sue Meloy) Newsgroups: comp.lang.c Subject: Re: ! operator in constant expressions Message-ID: <660003@hpclsue.HP.COM> Date: 13 Jan 88 01:13:48 GMT References: <3813@hoptoad.uucp> Organization: HP ITG/ISO Computer Language Lab Lines: 21 According to the latest ANSI draft: A constant expression used in a static initializer must evaluate to one of the following: an arithmetic constant expression only arithmetic operands; casts can only be from arithmetic type to arithmetic type. an address constant created via & or by use of an array or function name an address constant plus or minus an integral constant expression Thus, the following examples are not legal ANSI C: int pno = ! &bar; int pyes = !(char *)0; Sue Meloy sue@hpda.HP.COM