Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!panda!talcott!harvard!seismo!brl-tgr!gwyn From: gwyn@brl-tgr.ARPA (Doug Gwyn) Newsgroups: net.lang.c Subject: Re: Re: parens around sizeof arg Message-ID: <8985@brl-tgr.ARPA> Date: Wed, 6-Mar-85 10:49:16 EST Article-I.D.: brl-tgr.8985 Posted: Wed Mar 6 10:49:16 1985 Date-Received: Fri, 8-Mar-85 02:58:32 EST References: <8048@brl-tgr.ARPA> <607@ncoast.UUCP> <512@rlgvax.UUCP> <314@gumby.UUCP> <290@talcott.UUCP> <317@gumby.UUCP> <348@desint.UUCP> Organization: Ballistic Research Lab Lines: 15 I had always thought that ( lvalue_expr ) would not be an lvalue_expr, but checking in the proposed ANSI spec I see that the parentheses do not affect lvalueness, so extra parens sizeof(thing) do no actual harm, although they are a bit sloppy, as is return(expr); when return expr; would do. There turns out to be a real use for the unary + operator, which is to remove lvalueness from an expression: +(lvalue_expr) is not an lvalue.