Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | Keith Thompson <kst-u@mib.org> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Who owns the variable in my header file ? |
| Date | 2012-10-08 00:33 -0700 |
| Organization | None to speak of |
| Message-ID | <lnipalmn8b.fsf@nuthaus.mib.org> (permalink) |
| References | (6 earlier) <f033e3a6-2114-421a-9660-bd0eceeed36a@r10g2000vby.googlegroups.com> <k4qm0b$jr0$1@dont-email.me> <k4rmd6$ac$1@dont-email.me> <lny5jim84m.fsf@nuthaus.mib.org> <k4sq5f$tml$1@dont-email.me> |
"BartC" <bc@freeuk.com> writes:
> "Keith Thompson" <kst-u@mib.org> wrote in message
> news:lny5jim84m.fsf@nuthaus.mib.org...
>> "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.
>
> It's more complicated than that.
No, on the C language level it really is exactly that simple.
> You have simple arrays like this:
>
> int A[5][4][3];
Right.
> and more dynamic ones like this:
>
> int ***B,***C;
Those aren't arrays, they're pointers.
> Which might be set up to have dimensions [7][2][4], and [6][6][6].
You can use multi-level pointers like that to create data structures
that behave like dynamic multi-dimensional arrays. To do so, you
have to explicitly allocate memory for each row, and for each row
of pointers to rows, and so on. Each allocation (presumably a call
to malloc() would have to create a properly initialized fat pointer.
[snip]
The current rules of the language permit an implementation to
make all pointers fat, with information propagating through object
definitions, allocations, assignments, and so forth, so that bounds
checks can be made to fail in circumstances where the behavior
is undefined.
--
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 | Next — Previous in thread | Next in thread | Find similar
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