Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #126992

Re: C Construction Problem

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: C Construction Problem
Date 2018-02-22 10:50 -0800
Organization None to speak of
Message-ID <lna7w0luz4.fsf@kst-u.example.com> (permalink)
References (3 earlier) <87606r3867.fsf@bsb.me.uk> <p6hpgg0f33@news4.newsguy.com> <kfn7er6wcle.fsf@x-alumni2.alumni.caltech.edu> <ln4lmame6e.fsf@kst-u.example.com> <kfnd10xv7vc.fsf@x-alumni2.alumni.caltech.edu>

Show all headers | View raw


Tim Rentsch <txr@alumni.caltech.edu> writes:
> Keith Thompson <kst-u@mib.org> writes:
>> Tim Rentsch <txr@alumni.caltech.edu> writes:
>> [...]
>>> (1) The code is compiled using gcc in its default mode.  Don't Do
>>> That.  I recommend 'gcc -std=c99 -pedantic-errors', or similar.
>>> I recommend against -std=c90 (or the various equivalents to
>>> that).
>>
>> Why not -std=c11?
>
> There's a big difference between C90 and C99, but not so much
> between C99 and C11.  Unless there is a particular reason for
> wanting to use C11, I think the more conservative choice is
> better.  Looking over the list of major changes given in N1570,
> I don't see any that add significant value for this program (or
> even most other programs).  As I see it the question here is not
> "why not C11?" but "what need is compelling enough to prompt a
> change to C11?".  Until there is one, it's better to stay put.

My own preference is to use the current standard unless there's a good
reason not to.  gcc support for C11 is now about as good as its support
for C99.

[...]
        
>> And if you use %p, you should cast the corresponding argument to void*.
>
> BEEP!  Bad advice.  Casting should be avoided as much as possible
> and this case is no exception.  To get a pointer into a suitable
> type for %p, it should be converted, not cast:
>
>     (void*){ some_pointer }

So rather than a cast
    printf("%p\n", (void*)some_pointer);
you'd use a compound literal with exactly the same semantics?
    printf("%p\n", (void*){ some_pointer });

I've never seen that, and it would never have occurred to me.  After
considering it, I'd still use the cast.

An advantage of the compound literal is that it relies on the implicit
conversion, so it will fail to compile if the expression isn't one that
can be implicitly converted to void*.  In my opinion, that's not enough
of an advantage to justify it.

I agree that casting should almost always be avoided.  Arguments to
variadic functions are one of the rare cases where I consider them
appropriate.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 13:51 +0000
  Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-20 14:42 +0000
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 15:06 +0000
      Re: C Construction Problem Manfred <noname@invalid.add> - 2018-02-20 18:07 +0100
  Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 14:54 +0000
  Re: C Construction Problem "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-20 10:06 -0500
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:11 +0000
  Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-20 15:08 +0000
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:22 +0000
      Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-20 17:03 +0000
        Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-20 09:23 -0800
        Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 11:11 -0700
        Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 18:30 +0000
          Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-20 23:37 +0000
            Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 00:45 +0000
              Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 01:46 +0000
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-21 08:49 +0100
                Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-21 09:29 +0000
                [OT] Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 11:24 +0000
                Re: [OT] Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 14:41 +0300
                Re: [OT] Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-21 15:10 +0100
                Re: [OT] Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-21 12:36 -0600
                Re: [OT] Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-21 21:04 +0000
                Re: [OT] Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-21 18:20 -0600
                Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 11:09 +0300
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-21 02:29 -0800
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 11:32 +0000
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:02 -0800
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-27 09:22 +0100
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-27 11:18 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-27 19:51 +0000
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-28 01:54 -0600
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-28 01:43 -0600
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-28 12:54 -0800
                Re: archive decompressor Noob <root@127.0.0.1> - 2018-03-04 12:34 +0100
              Re: C Construction Problem Anton Shepelev <anton.txt@g{oogle}mail.com> - 2018-02-21 11:04 +0300
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-21 11:27 +0000
                Re: C Construction Problem Anton Shepelev <anton.txt@gmail.com> - 2018-02-28 22:59 +0300
                Re: C Construction Problem supercat@casperkitty.com - 2018-02-21 08:49 -0800
            Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:08 -0800
              Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-26 23:51 +0000
                Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-27 11:24 -0800
          Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 08:07 -0800
            Re: C Construction Problem fr314159@gmail.com - 2018-02-21 09:16 -0800
              Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 21:26 -0800
            Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-21 09:43 -0800
              Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-21 22:47 -0800
                Re: C Construction Problem Jorgen Grahn <grahn+nntp@snipabacken.se> - 2018-02-22 13:09 +0000
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-24 13:37 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-22 10:50 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-24 13:58 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-24 15:05 -0800
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-25 03:21 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 11:51 +0000
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-25 04:06 -0800
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 12:47 +0000
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-25 13:20 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 17:46 +0000
                Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-25 18:58 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 20:01 +0000
                Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-25 20:25 +0000
                Re: C Construction Problem Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2018-02-26 02:49 -0800
                Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-25 20:02 +0000
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:13 -0800
                Re: C Construction Problem Robert Wessel <robertwessel2@yahoo.com> - 2018-02-25 11:50 -0600
                Re: C Construction Problem Ian Collins <ian-news@hotmail.com> - 2018-02-26 07:38 +1300
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:15 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 22:02 -0800
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 06:32 -0800
                Re: C Construction Problem GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-27 16:56 +0100
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 08:27 -0800
                Re: C Construction Problem GOTHIER Nathan <nathan.gothier@gmail.com> - 2018-02-27 18:02 +0100
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 10:23 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 01:09 -0800
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-28 10:37 +0100
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 01:29 -0800
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-03 02:00 -0800
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-27 08:46 -0800
                Re: C Construction Problem jameskuyper@verizon.net - 2018-02-27 09:15 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-03 02:08 -0800
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-03 02:31 -0800
                Re: C Construction Problem Ian Collins <ian-news@hotmail.com> - 2018-03-04 10:34 +1300
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-19 10:27 -0700
                Re: C Construction Problem jameskuyper@verizon.net - 2018-03-03 21:35 -0800
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-03-17 10:29 -0700
                Re: C Construction Problem Steven Petruzzellis <frelwizzen@gmail.com> - 2018-03-18 08:14 -0700
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-25 21:49 +0100
                Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-25 15:09 -0800
                Re: C Construction Problem gazelle@shell.xmission.com (Kenny McCormack) - 2018-02-26 13:46 +0000
                Re: C Construction Problem David Brown <david.brown@hesbynett.no> - 2018-02-26 14:57 +0100
                Re: C Construction Problem Tim Rentsch <txr@alumni.caltech.edu> - 2018-02-26 22:14 -0800
            Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-22 00:11 +0000
              Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-21 17:27 -0700
    Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-20 09:30 -0800
      Re: C Construction Problem Ben Bacarisse <ben.usenet@bsb.me.uk> - 2018-02-21 00:23 +0000
  Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 09:11 -0700
    Re: C Construction Problem "F. Russell" <fr@random.info> - 2018-02-20 16:38 +0000
      Re: C Construction Problem bartc <bc@freeuk.com> - 2018-02-20 17:07 +0000
      Re: C Construction Problem John Bode <jfbode1029@gmail.com> - 2018-02-20 09:09 -0800
      Re: C Construction Problem "James R. Kuyper" <jameskuyper@verizon.net> - 2018-02-20 12:18 -0500
        Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-20 09:38 -0800
      Re: C Construction Problem Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2018-02-20 11:08 -0700
      Re: C Construction Problem Gordon Burditt <gordon@hammy.burditt.org> - 2018-02-20 21:47 -0600
        Re: C Construction Problem Keith Thompson <kst-u@mib.org> - 2018-02-21 09:36 -0800
          Re: C Construction Problem Geoff <geoff@invalid.invalid> - 2018-02-26 11:21 -0800

csiph-web