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


Groups > comp.lang.c > #73197

Re: Pointers, constant values

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Pointers, constant values
Date 2015-10-18 11:59 +0100
Organization A noiseless patient Spider
Message-ID <87zizgmohd.fsf@bsb.me.uk> (permalink)
References (10 earlier) <mvs4b1$ve1$1@dont-email.me> <87mvvhnxun.fsf@bsb.me.uk> <mvuf8g$c1i$1@dont-email.me> <87bnbxnkba.fsf@bsb.me.uk> <mvurfu$k3o$1@dont-email.me>

Show all headers | View raw


Bartc <bc@freeuk.com> writes:

> On 18/10/2015 00:31, Ben Bacarisse wrote:
>> Bartc <bc@freeuk.com> writes:
>
>>> When I have to write C manually, I don't bother either...
>>
>> I'm sorry to be blunt, but I don't think you are arguing in good faith.
>> I don't think that when you write perfectly normal, safe, idiomatic C,
>> using the usual method of passing a pointer to the start of some data,
>> you are "not bothering" to do it right.
>
> You're using pointers and buffers rather than arrays; to me they are
> different, if not to C. That wouldn't so bad if you just used *(p+i)
> to access them, but C allows p[i] which mixes things up.
>
>> I think you know you are doing
>> it the best way, but you just don't like it because you don't like C
>> (something that you are have made no bones about).
>
> Not at all. I think C is my favourite language (other than one of my own).
>
>> But let me atke you ate your word and see what writing C properly C
>> looks like.  Here, for example, is what I'd write (because, according to
>> you I don't bother to do it property either) when I want a divide an
>> conquer algorithm.  (I wanted to use quick sort but it's complexity
>> obscures the issue, so please ignore the fact that one would not use
>> divide and conquer for this problem.)
>
>>    int amax(int n, const int *data)
>>    {
>>         if (n > 1)
>>              return max(amax(n/2, data), amax(n - n/2, &data[n/2]));
>>         else if (n == 1)
>>              return data[0];
>>         else abort();
>>    }
>
>> If you *could* be bothered, how would you write this properly?
>
> This really involves array slices, which C doesn't have so a solution
> in C would be untidy. (My compiled language doesn't have slice
> denotations either, but it's less of a problem than in C.)
>
> So if writing in actual C and wanting to keep to arrays or pointers to
> arrays, I would probably add two or three slicing functions (input is
> a pointer to array and one or two numbers, output is a pointer to
> another part of the array. Casts would need to be involved).
>
> For this example I might create left() and right() functions, then
> recoding your example would be straightforward. But not as simple.

In case it's not obvious, my point was to try to shake your claim that
you (and your suggestion that I) don't write C array code "properly"
just because we "can't be bothered".  It's a very great deal of bother
isn't it?  Especially compared to to how simple, safe and elegant the
"wrong" way is.

<snip>
-- 
Ben.

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


Thread

Pointers, constant values Alla _ <modelling.data@gmail.com> - 2015-10-16 00:49 -0700
  Re: Pointers, constant values Philip Lantz <prl@canterey.us> - 2015-10-16 01:49 -0700
  Re: Pointers, constant values James Kuyper <jameskuyper@verizon.net> - 2015-10-16 09:41 -0400
    Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 08:55 -0700
  Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 08:25 -0700
    Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 09:11 -0700
      Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 12:06 -0700
        Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 12:55 -0700
    Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-16 17:49 +0100
      Re: Pointers, constant values Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-10-16 13:23 -0400
        Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-16 19:34 +0100
          Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 12:05 -0700
        Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 12:18 -0700
      Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 12:13 -0700
        Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-16 20:33 +0100
          Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 13:01 -0700
            Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-16 21:09 +0100
              Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 13:41 -0700
          Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-16 21:07 +0100
            Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-16 21:20 +0100
              Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-16 22:02 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-16 22:21 +0100
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 14:39 -0700
                Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 15:26 -0700
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 15:44 -0700
                Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 16:58 -0700
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 17:28 -0700
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-16 22:50 +0100
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-16 15:14 -0700
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-17 01:23 +0100
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-17 19:39 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-17 22:42 +0100
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-18 00:31 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-18 02:11 +0100
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-18 11:59 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-18 12:12 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-18 12:28 +0100
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-18 23:16 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-18 23:34 +0100
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-19 01:45 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-19 11:51 +0100
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-19 12:55 +0100
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-19 13:51 +0100
                Re: Pointers, constant values Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-10-19 06:02 -0700
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-19 07:02 -0700
                Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-19 15:39 +0100
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-19 08:54 -0700
                Re: Pointers, constant values Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-10-19 09:14 -0700
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-19 10:21 -0700
                Re: Pointers, constant values Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-10-19 12:57 -0700
                Re: Pointers, constant values glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-10-19 21:20 +0000
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-20 20:50 -0700
                Re: Pointers, constant values glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-10-21 04:58 +0000
                Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-19 08:40 -0700
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-19 20:17 +0100
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-17 16:44 -0700
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-18 11:52 +0100
                Re: Pointers, constant values Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-10-18 05:15 -0700
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-18 21:54 +0100
                Re: Pointers, constant values Malcolm McLean <malcolm.mclean5@btinternet.com> - 2015-10-18 16:09 -0700
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-18 07:55 -0700
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-18 21:47 +0100
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-18 15:37 -0700
                Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-19 00:10 +0100
                Re: Pointers, constant values supercat@casperkitty.com - 2015-10-18 19:04 -0700
        Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-16 21:13 +0100
      Re: Pointers, constant values Ian Collins <ian-news@hotmail.com> - 2015-10-17 11:27 +1300
        Re: Pointers, constant values Bartc <bc@freeuk.com> - 2015-10-17 00:56 +0100
  Re: Pointers, constant values Les Cargill <lcargill99@comcast.com> - 2015-10-16 12:37 -0500
    Re: Pointers, constant values James Kuyper <jameskuyper@verizon.net> - 2015-10-16 14:22 -0400
  Re: Pointers, constant values Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-10-16 18:57 +0000
    Re: Pointers, constant values Ben Bacarisse <ben.usenet@bsb.me.uk> - 2015-10-16 20:40 +0100
      Re: Pointers, constant values Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-10-16 20:46 +0000
        Re: Pointers, constant values Keith Thompson <kst-u@mib.org> - 2015-10-16 14:24 -0700
          Re: Pointers, constant values Jorgen Grahn <grahn+nntp@snipabacken.se> - 2015-10-19 12:43 +0000
  Re: Pointers, constant values Siri Cruz <chine.bleu@yahoo.com> - 2015-10-16 13:20 -0700
    Re: Pointers, constant values supercat@casperkitty.com - 2015-10-17 13:59 -0700

csiph-web