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


Groups > comp.lang.c > #94661

Re: Why I use gcc

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Why I use gcc
Date 2016-10-09 13:57 +0100
Organization A noiseless patient Spider
Message-ID <878ttxvfx9.fsf@bsb.me.uk> (permalink)
References (13 earlier) <28fd7881-5b39-4fa3-a41f-9b9431d855f3@googlegroups.com> <nt9dps$iea$1@dont-email.me> <72eec67f-1e75-40df-8b23-48a90d8f3db6@googlegroups.com> <87lgxxvkrw.fsf@bsb.me.uk> <ntda4n$g2v$1@dont-email.me>

Show all headers | View raw


BartC <bc@freeuk.com> writes:

> On 09/10/2016 12:12, Ben Bacarisse wrote:
>> Thiago Adams <thiago.adams@gmail.com> writes:
>> <snip>
>>> In most of cases I initialize together with declaration.
>>>
>>>  int i = 0;
>>>  int j = 0;
>>>  int k = GetSize(something);
>>>
>>> I think this would be very confuse:
>>>
>>> int i = 0, k = GetSize(something), j = 1;
>>>
>>> So the first style works in all places well.
>>
>> I like having multiple declatators, especially when there is a logical
>> connection between the objects, so to get a buffer and two pointers I
>> might write
>>
>>
>>   struct some_tag buffer[SIZE], *start = buffer, *end = (&buffer)[1];
>>
>> and the type appears in only one place.
>
> It took me quite a few seconds to grasp what was happening here. The
> connection here is between start and end: they have the same type, and
> point into the same object. The connection with buffer is tangential:

No, the connection is central to why I'd write like that.  The pointer
point into (and "just past") buffer.  If they did not, I'd probably use
separate declarations.

>   struct some_tag buffer[SIZE];
>   struct some_tag *start = buffer, *end = (&buffer)[1]);

(syntax error)

> However in this case, I think separating them all out is clearer:
>
>   struct some_tag buffer[SIZE];
>   struct some_tag *start = buffer;
>   struct some_tag *end   = (&buffer)[1];
>
> (It took me additional seconds to understand the (&buffer)[1]
> bit. Apparently it points to just past the end of the array, and means
> the same as &buffer[SIZE].
>
> What is harder to understand is how the type, which appears to involve
> a pointer to the whole struct array, eventually coalesces into a
> pointer to one element of the array.

Yes, you've bought into your own confusion so that is not surprising.
If you don't think there are any expressions with array values, you will
have some trouble with things like this.

> Doubtless some subtle rendering
> of C's pointer/array rules. But it means I would probably write those
> last two lines as:
>
>   struct some_tag *start = &buffer[0];
>   struct some_tag *end   = &buffer[SIZE];
>
> This way there is symmetry, the equivalance is clearer, and there is
> less head-scratching.)

Fine, but I prefer not to repeat the size and the type.

By the way, what level comprehension do you typically target when
writing C and how did you come to decide on that level?

-- 
Ben.

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


Thread

Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 14:31 +0100
  Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-26 15:45 +0200
    Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 15:22 +0100
      Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-26 16:31 +0200
      Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-27 15:05 -0700
        Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-28 00:42 +0100
          Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-28 09:50 -0700
            Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-28 18:39 +0100
              Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 12:28 +0100
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-07 04:36 -0700
              Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 05:31 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 14:00 +0100
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 07:48 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 17:36 +0100
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 10:38 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 19:47 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 12:25 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 12:26 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 13:10 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 13:22 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 14:13 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 01:15 +0100
                Re: Why I use gcc James Harris <james.harris.1@gmail.com> - 2016-10-08 10:42 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 11:36 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 14:25 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 15:05 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 16:29 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 17:21 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 16:39 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 16:58 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 21:15 +0100
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-08 11:27 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 20:09 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-08 21:16 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 21:28 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 01:19 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 01:36 +0100
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-08 09:32 -0700
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-10-09 03:44 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 12:07 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 12:12 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 12:37 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 13:57 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 14:32 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-10-09 20:00 +0100
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-09 13:14 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-09 22:54 +0100
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-10-15 14:40 -0700
                Re: Why I use gcc James Kuyper <jameskuyper@verizon.net> - 2016-10-07 10:37 -0400
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-07 07:52 -0700
                Re: Why I use gcc jameskuyper@verizon.net - 2016-10-07 09:10 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-07 10:48 -0700
                Re: Why I use gcc jameskuyper@verizon.net - 2016-10-07 16:21 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-08 11:15 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-07 17:12 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-07 12:20 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-07 12:32 -0700
  Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 14:45 +0100
    Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 15:12 +0100
      Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 15:26 +0100
        Re: Why I use gcc supercat@casperkitty.com - 2016-09-26 08:00 -0700
          Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-28 10:49 -0700
        Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 17:30 +0100
          Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-26 21:12 +0200
            Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-26 22:09 +0200
            Re: Why I use gcc supercat@casperkitty.com - 2016-09-26 13:32 -0700
              Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-26 23:14 +0200
                Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 22:47 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 01:13 +0100
                Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-27 01:18 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-26 17:41 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 02:01 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-27 08:41 -0700
                Re: Why I use gcc James Harris <james.harris.1@gmail.com> - 2016-09-27 01:41 +0100
                Re: Why I use gcc jameskuyper@verizon.net - 2016-09-26 18:15 -0700
                Re: Why I use gcc Gareth Owen <gwowen@gmail.com> - 2016-09-27 20:59 +0100
                Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-27 21:50 +0100
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-28 06:26 -0700
                Re: Why I use gcc gazelle@shell.xmission.com (Kenny McCormack) - 2016-09-27 23:23 +0000
                Re: Why I use gcc Noob <root@127.0.0.1> - 2016-10-08 00:12 +0200
                Re: Why I use gcc James Kuyper <jameskuyper@verizon.net> - 2016-10-07 23:11 -0400
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-08 10:58 +0100
                Re: Why I use gcc jameskuyper@verizon.net - 2016-10-08 07:07 -0700
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-07 21:44 -0700
              Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-27 09:48 +0200
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 11:22 +0100
                Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-27 13:52 +0200
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-27 14:47 +0200
                Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-27 15:18 +0200
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 14:38 +0100
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-27 17:21 +0200
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-27 17:17 +0200
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-27 08:52 -0700
                Re: Why I use gcc Robert Wessel <robertwessel2@yahoo.com> - 2016-09-30 02:00 -0500
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 07:18 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-27 08:46 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 09:11 -0700
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 13:33 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 14:13 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 15:30 +0100
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 08:29 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-09-27 07:11 -0700
            Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-26 21:43 +0100
            Re: Why I use gcc raltbos@xs4all.nl (Richard Bos) - 2016-09-30 17:50 +0000
          Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 01:04 +0100
            Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-09-26 17:39 -0700
              Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 01:49 +0100
                Re: Why I use gcc Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-09-27 11:39 +0100
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-09-27 11:56 +0100
                Re: Why I use gcc Tim Rentsch <txr@alumni.caltech.edu> - 2016-09-27 15:15 -0700
                Re: Why I use gcc David Brown <david.brown@hesbynett.no> - 2016-09-28 08:55 +0200
    Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-09-26 22:11 +0200
      Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-09-26 22:04 +0100
  Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-10 11:39 +0100
    Re: Why I use gcc already5chosen@yahoo.com - 2016-10-10 07:32 -0700
      Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-10-10 16:17 +0100
        Re: Why I use gcc Robert Wessel <robertwessel2@yahoo.com> - 2016-10-10 21:09 -0500
          Re: Why I use gcc Richard Heathfield <rjh@cpax.org.uk> - 2016-10-11 04:18 +0100
          Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 10:56 +0100
            Re: Why I use gcc already5chosen@yahoo.com - 2016-10-11 04:08 -0700
              Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 13:36 +0100
                Re: Why I use gcc already5chosen@yahoo.com - 2016-10-11 06:20 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 14:29 +0100
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-11 09:31 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 19:38 +0100
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-11 12:23 -0700
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-10-11 23:19 +0200
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 23:26 +0100
                Re: Why I use gcc jacobnavia <jacob@jacob.remcomp.fr> - 2016-10-12 09:01 +0200
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-12 08:55 -0700
                Re: Why I use gcc already5chosen@yahoo.com - 2016-10-12 10:52 -0700
                Re: Why I use gcc supercat@casperkitty.com - 2016-10-12 12:34 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-12 13:18 -0700
                Re: Why I use gcc luser droog <luser.droog@gmail.com> - 2016-10-12 13:24 -0700
                Re: Why I use gcc crankypuss <undisclosedUserid@gmail.com> - 2016-10-13 13:31 -0600
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-16 03:00 -0700
                Re: Why I use gcc crankypuss <undisclosedUserid@gmail.com> - 2016-10-16 04:46 -0600
                Re: Why I use gcc Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-10-16 04:05 -0700
                Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-11 12:28 -0700
                Re: Why I use gcc Thiago Adams <thiago.adams@gmail.com> - 2016-10-11 13:24 -0700
                Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-11 21:28 +0100
                Re: Why I use gcc gazelle@shell.xmission.com (Kenny McCormack) - 2016-10-11 20:43 +0000
                Re: Why I use gcc Robert Wessel <robertwessel2@yahoo.com> - 2016-10-11 23:40 -0500
            Re: Why I use gcc already5chosen@yahoo.com - 2016-10-11 04:40 -0700
      Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-10 18:19 +0100
    Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-10 09:08 -0700
      Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-10 18:04 +0100
        Re: Why I use gcc supercat@casperkitty.com - 2016-10-10 10:39 -0700
        Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-10 11:25 -0700
      Re: Why I use gcc Jerry Stuckle <jstucklex@attglobal.net> - 2016-10-10 17:05 -0400
        Re: Why I use gcc supercat@casperkitty.com - 2016-10-10 14:46 -0700
    Re: Why I use gcc BartC <bc@freeuk.com> - 2016-10-15 13:39 +0100
      Re: Why I use gcc Keith Thompson <kst-u@mib.org> - 2016-10-15 13:40 -0700
        Re: Why I use gcc already5chosen@yahoo.com - 2016-10-15 13:46 -0700

csiph-web