Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: just curious:Equel |
| Date | 2015-09-24 10:23 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <87vbb0f9w4.fsf@bsb.me.uk> (permalink) |
| References | (12 earlier) <msm6jq$qj8$1@speranza.aioe.org> <kfnlhcfld75.fsf@x-alumni2.alumni.caltech.edu> <msrehd$d8j$1@speranza.aioe.org> <MPG.306d279abfa29e7863@news.eternal-september.org> <mu0b1k$vf1$1@speranza.aioe.org> |
August Karlstrom <fusionfile@gmail.com> writes: > On 2015-09-24 07:18, Philip Lantz wrote: >> On 2015-09-10, August Karlstrom wrote: >>> On 2015-09-09 19:22, Tim Rentsch wrote: >>>> August Karlstrom <fusionfile@gmail.com> writes: >>>>> #define LEN(arr) (sizeof (arr) / sizeof (arr)[0]) >>>>> >>>>> #define NEW_ARRAY(ptr, n) (ptr) = malloc((n) * sizeof *(ptr)) >>>>> >>>>> #define NEW(ptr) NEW_ARRAY((ptr), 1) >>>> >>>> Incidentally, you probably know this, but these NEW's can be used as >>>> parts of declarations: >>>> >>>> int *NEW( stuff, 20 ); >>> >>> Or "misused", depending on how you see it. ;-) >> >> Perhaps Tim was slyly pointing out that you omitted the usual >> parentheses around the macro expansion. >> >> Oh, I see from his next response that he probably wasn't. But fully >> parenthesizing macros that expand to expressions is generally considered >> good form, and it would prevent the "misuse", should you care to do so. > > I'm thinking that the macro NEW is semantically a function call > *statement*. Therefor it's not meant to be used in expressions (or in > declarations like the one above). If you want, you can enforce that rule by writing the macro like this: #define NEW_ARRAY(ptr, n) do (ptr) = malloc((n) * sizeof *(ptr)); while (0) -- Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-09 10:22 -0700
Re: just curious:Equel August Karlstrom <fusionfile@gmail.com> - 2015-09-10 10:21 +0200
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-11 12:06 -0700
Re: just curious:Equel August Karlstrom <fusionfile@gmail.com> - 2015-09-12 17:53 +0200
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-26 16:04 -0700
Re: just curious:Equel Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-09-26 16:17 -0700
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-10-01 12:53 -0700
Re: just curious:Equel August Karlstrom <fusionfile@gmail.com> - 2015-09-28 18:00 +0200
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-10-01 12:51 -0700
Re: just curious:Equel Philip Lantz <prl@canterey.us> - 2015-09-23 22:18 -0700
Re: just curious:Equel August Karlstrom <fusionfile@gmail.com> - 2015-09-24 10:08 +0200
Re: just curious:Equel Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-09-24 10:23 +0100
Re: just curious:Equel Philip Lantz <prl@canterey.us> - 2015-09-24 10:28 -0700
Re: just curious:Equel Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-09-24 19:56 +0100
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-26 16:16 -0700
Re: just curious:Equel August Karlstrom <fusionfile@gmail.com> - 2015-09-28 08:18 +0200
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-26 16:10 -0700
Re: just curious:Equel supercat@casperkitty.com - 2015-09-27 11:40 -0700
Re: just curious:Equel Tim Rentsch <txr@alumni.caltech.edu> - 2015-09-29 10:03 -0700
csiph-web