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


Groups > comp.lang.c > #27083

Re: Who owns the variable in my header file ?

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Who owns the variable in my header file ?
Date 2012-10-07 11:47 -0700
Organization None to speak of
Message-ID <lny5jim84m.fsf@nuthaus.mib.org> (permalink)
References (4 earlier) <mqudnRQNa7MK3_DNnZ2dnUVZ7tudnZ2d@bt.com> <k4jvi2$15u$1@dont-email.me> <f033e3a6-2114-421a-9660-bd0eceeed36a@r10g2000vby.googlegroups.com> <k4qm0b$jr0$1@dont-email.me> <k4rmd6$ac$1@dont-email.me>

Show all headers | View raw


"BartC" <bc@freeuk.com> writes:
> "Richard Damon" <news.x.richarddamon@xoxy.net> wrote in message
> news:k4qm0b$jr0$1@dont-email.me...
>> On 10/6/12 5:30 AM, Nick Keighley wrote:
>>> As someone remarked this business with "undefined behaviour" is true
>>> of pretty much all programming languages (I'm not convinced Godel has
>>> anything to contribute to this). To some extent C stresses it more,
>>> this is partly because C runs nearly everywhere and has huge numbers
>>> of implementations.
>
>> If we removed pointers into arrays (and passing
>> arrays with unspecified bounds), then the compiler could easily add code
>> to check the subscripts to the array and trap on error conditions. If we
>> want to support pointers into arrays, then these pointers could also be
>> made "fatter" to include the bounds of the object they point to (and for
>> multidimensional arrays, the bounds for each of the larger arrays the
>> array is part of).
>
> Arrays can have any numbers of dimensions, so would be highly impractical
> for any of a thousand possible pointers into an array for each to duplicate
> it's half-dozen or dozen dimensions. You would likely also need different 
> pointers for each of the sub-dimensions.

C's multidimensional arrays are nothing more or less than arrays of
arrays.  Whatever mechanism existed for 1D arrays would automatically
apply to all higher dimensions.

> And for an array whose dimensions are not realised until runtime, or for 
> 'ragged' arrays where the bounds vary through the array, how would
> such a pointer be initialised? Other languages would tend to build the 
> bounds into the arrays themselves.

The language has no built-in "ragged" arrays; they're built in user code
by allocating the rows.  Whatever method allocates the rows (say,
malloc()) would have to deal with any bounds tracking; for example,
malloc() would have to return a fat pointer.

> In any case, C allows pointers into all sorts of objects, including 
> non-arrays, or a single element of that multi-dimensional array, or to cast 
> one type of pointer into another; you wouldn't then be able to step or do 
> arithmetic on such a pointer, without by-passing the bounds checking.

If C had fat pointers, all the operations you're describing would have
to maintain the "fatness".

[...]

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
    Will write code for food.
"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 | NextPrevious in thread | Next in thread | Find similar


Thread

Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-03 19:13 +0100
  Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-03 15:05 -0400
    Re: Who owns the variable in my header file ? pacman@kosh.dhis.org (Alan Curry) - 2012-10-03 19:17 +0000
      Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-03 15:55 -0400
    Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-03 20:59 +0100
      Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-03 16:32 -0400
        Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 08:50 +0100
          Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-04 01:30 -0700
            Re: Who owns the variable in my header file ? Angel <angel+news@spamcop.net> - 2012-10-04 10:17 +0000
            Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 12:02 +0100
              Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-04 16:20 -0700
                Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 08:44 +0100
                Re: Who owns the variable in my header file ? Chicken McNuggets <chicken@mcnuggets.com> - 2012-10-07 16:48 +0100
          Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 07:13 -0400
      Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 00:34 -0400
        Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 09:02 +0100
          Re: Who owns the variable in my header file ? David Brown <david@westcontrol.removethisbit.com> - 2012-10-04 10:14 +0200
          Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 08:30 -0400
            Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 14:18 +0100
            Re: Who owns the variable in my header file ? Nick Keighley <nick_keighley_nospam@hotmail.com> - 2012-10-06 02:30 -0700
              Re: Who owns the variable in my header file ? Les Cargill <lcargill99@comcast.com> - 2012-10-06 08:01 -0500
              Re: Who owns the variable in my header file ? Richard Damon <news.x.richarddamon@xoxy.net> - 2012-10-06 21:30 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-07 11:40 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 10:56 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-07 21:26 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 19:58 -0400
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-07 11:47 -0700
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-07 21:53 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 20:04 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 02:14 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 21:47 -0400
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 00:33 -0700
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 11:13 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 07:40 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 13:13 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 10:08 -0400
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 16:20 +0100
                Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 12:45 -0400
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 12:29 -0700
                Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-08 22:28 +0100
                Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 15:47 -0700
                Re: Who owns the variable in my header file ? Richard Damon <news.x.richarddamon@xoxy.net> - 2012-10-07 21:16 -0400
          Re: Who owns the variable in my header file ? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2012-10-04 08:35 -0600
          Re: Who owns the variable in my header file ? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-10-04 22:31 +0100
            Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 08:58 +0100
        Re: Who owns the variable in my header file ? gordonb.mhaw9@burditt.org (Gordon Burditt) - 2012-10-06 20:19 -0500
          Re: Who owns the variable in my header file ? Ian Collins <ian-news@hotmail.com> - 2012-10-07 15:19 +1300
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-07 18:22 +0100
            Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-07 14:38 -0400
      Re: Who owns the variable in my header file ? Kaz Kylheku <kaz@kylheku.com> - 2012-10-04 05:14 +0000
  Re: Who owns the variable in my header file ? Kaz Kylheku <kaz@kylheku.com> - 2012-10-03 19:40 +0000
  Re: Who owns the variable in my header file ? Ike Naar <ike@sverige.freeshell.org> - 2012-10-03 19:52 +0000
  Re: Who owns the variable in my header file ? falk@rahul.net (Edward A. Falk) - 2012-10-03 22:36 +0000
    Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-03 16:21 -0700
      Re: Who owns the variable in my header file ? falk@rahul.net (Edward A. Falk) - 2012-10-04 19:01 +0000
      Re: Who owns the variable in my header file ? David Thompson <dave.thompson2@verizon.net> - 2012-10-11 03:09 -0400
        Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-11 13:30 -0700
    Re: Who owns the variable in my header file ? Kaz Kylheku <kaz@kylheku.com> - 2012-10-04 01:43 +0000
    Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 09:24 +0100
  Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 11:23 +0100
    Re: Who owns the variable in my header file ? David Brown <david@westcontrol.removethisbit.com> - 2012-10-04 13:26 +0200
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 15:52 +0100
        Re: Who owns the variable in my header file ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-10-04 11:40 -0400
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-04 17:00 +0100
        Re: Who owns the variable in my header file ? hormelfree@gmail.com - 2012-10-04 17:15 -0700
          Re: Who owns the variable in my header file ? Ike Naar <ike@iceland.freeshell.org> - 2012-10-05 06:51 +0000
            Re: Who owns the variable in my header file ? David Brown <david@westcontrol.removethisbit.com> - 2012-10-05 09:35 +0200
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 09:11 +0100
            Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-05 08:04 -0400
    Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-04 08:43 -0400
    Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-04 16:08 -0700
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-05 09:27 +0100
        Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-05 02:16 -0700
        Re: Who owns the variable in my header file ? Angel <angel+news@spamcop.net> - 2012-10-05 11:38 +0000
          Re: Who owns the variable in my header file ? Nobody <nobody@nowhere.com> - 2012-10-05 16:13 +0100
            Re: Who owns the variable in my header file ? Angel <angel+news@spamcop.net> - 2012-10-05 16:26 +0000
  Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-08 19:02 +0100
    Re: Who owns the variable in my header file ? James Kuyper <jameskuyper@verizon.net> - 2012-10-08 14:29 -0400
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-08 20:15 +0100
      Re: Who owns the variable in my header file ? Keith Thompson <kst-u@mib.org> - 2012-10-08 14:04 -0700
    Re: Who owns the variable in my header file ? Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2012-10-08 22:47 -0600
      Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-09 09:04 +0100
        Re: Who owns the variable in my header file ? "BartC" <bc@freeuk.com> - 2012-10-09 10:30 +0100
          Re: Who owns the variable in my header file ? lipska the kat <lipskathekat@yahoo.co.uk> - 2012-10-09 11:48 +0100

csiph-web